#include <data.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>

// 为对应表分配内存
void AllocIndex(int nSize, dataIndex** pData)   /* NOLINT  */
{
    if (nSize < 1)
        return;
    (*pData) = (dataIndex *)malloc(sizeof(dataIndex));

    if (!(*pData))
        return;

    (*pData)->nLen = nSize;
    (*pData)->pIndex = (int *)malloc(sizeof (int) * (*pData)->nLen);
    for (int i = 0; i < (*pData)->nLen; ++i) {
        if ((*pData)->pIndex)
            (*pData)->pIndex[i] = -1;
    }
}

// 为中文数组分配内存
void AllocHans(int nSize, dataHans** pData)     /* NOLINT  */
{
    if (nSize < 1)
        return;
    (*pData) = (dataHans *)malloc(sizeof(dataHans));

    if (!(*pData))
        return;

    (*pData)->nLen = nSize;
    (*pData)->pHan = (dataHan *)malloc(sizeof (dataHan) * (*pData)->nLen);
    for (int i = 0; i < (*pData)->nLen; ++i)
    {
        if ((*pData)->pHan)
            memset((*pData)->pHan[i].szData, 0x0, sizeof((*pData)->pHan[i].szData));
    }     
}

// 初始化农历表
void dataAllocLunarTable(dataIndex** pData)
{
    AllocIndex(201, pData);
    int* d = (*pData)->pIndex;

    d[0] = 0x4bd8, d[1] = 0x4ae0, d[2] = 0xa570, d[3] = 0x54d5, d[4] = 0xd260,
    d[5] = 0xd950, d[6] = 0x5554, d[7] = 0x56af, d[8] = 0x9ad0, d[9] = 0x55d2, 
    d[10] = 0x4ae0, d[11] = 0xa5b6, d[12] = 0xa4d0, d[13] = 0xd250, d[14] = 0xd255,
    d[15] = 0xb54f, d[16] = 0xd6a0, d[17] = 0xada2, d[18] = 0x95b0, d[19] = 0x4977, 
    d[20] = 0x497f, d[21] = 0xa4b0, d[22] = 0xb4b5, d[23] = 0x6a50, d[24] = 0x6d40, 
    d[25] = 0xab54, d[26] = 0x2b6f, d[27] = 0x9570, d[28] = 0x52f2, d[29] = 0x4970,  
    d[30] = 0x6566, d[31] = 0xd4a0, d[32] = 0xea50, d[33] = 0x6a95, d[34] = 0x5adf,
    d[35] = 0x2b60, d[36] = 0x86e3, d[37] = 0x92ef, d[38] = 0xc8d7, d[39] = 0xc95f,
    d[40] = 0xd4a0, d[41] = 0xd8a6, d[42] = 0xb55f, d[43] = 0x56a0, d[44] = 0xa5b4, 
    d[45] = 0x25df, d[46] = 0x92d0, d[47] = 0xd2b2, d[48] = 0xa950, d[49] = 0xb557,
    d[50] = 0x6ca0, d[51] = 0xb550, d[52] = 0x5355, d[53] = 0x4daf, d[54] = 0xa5b0, 
    d[55] = 0x4573, d[56] = 0x52bf, d[57] = 0xa9a8, d[58] = 0xe950, d[59] = 0x6aa0, 
    d[60] = 0xaea6, d[61] = 0xab50, d[62] = 0x4b60, d[63] = 0xaae4, d[64] = 0xa570,
    d[65] = 0x5260, d[66] = 0xf263, d[67] = 0xd950, d[68] = 0x5b57, d[69] = 0x56a0, 
    d[70] = 0x96d0, d[71] = 0x4dd5, d[72] = 0x4ad0, d[73] = 0xa4d0, d[74] = 0xd4d4, 
    d[75] = 0xd250, d[76] = 0xd558, d[77] = 0xb540, d[78] = 0xb6a0, d[79] = 0x95a6, 
    d[80] = 0x95bf, d[81] = 0x49b0, d[82] = 0xa974, d[83] = 0xa4b0, d[84] = 0xb27a, 
    d[85] = 0x6a50, d[86] = 0x6d40, d[87] = 0xaf46, d[88] = 0xab60, d[89] = 0x9570, 
    d[90] = 0x4af5, d[91] = 0x4970, d[92] = 0x64b0, d[93] = 0x74a3, d[94] = 0xea50, 
    d[95] = 0x6b58, d[96] = 0x5ac0, d[97] = 0xab60, d[98] = 0x96d5, d[99] = 0x92e0, 
    d[100] = 0xc960, d[101] = 0xd954, d[102] = 0xd4a0, d[103] = 0xda50, d[104] = 0x7552, 
    d[105] = 0x56a0, d[106] = 0xabb7, d[107] = 0x25d0, d[108] = 0x92d0, d[109] = 0xcab5, 
    d[110] = 0xa950, d[111] = 0xb4a0, d[112] = 0xbaa4, d[113] = 0xad50, d[114] = 0x55d9, 
    d[115] = 0x4ba0, d[116] = 0xa5b0, d[117] = 0x5176, d[118] = 0x52bf, d[119] = 0xa930, 
    d[120] = 0x7954, d[121] = 0x6aa0, d[122] = 0xad50, d[123] = 0x5b52, d[124] = 0x4b60, 
    d[125] = 0xa6e6, d[126] = 0xa4e0, d[127] = 0xd260, d[128] = 0xea65, d[129] = 0xd530, 
    d[130] = 0x5aa0, d[131] = 0x76a3, d[132] = 0x96d0, d[133] = 0x4afb, d[134] = 0x4ad0, 
    d[135] = 0xa4d0, d[136] = 0xd0b6, d[137] = 0xd25f, d[138] = 0xd520, d[139] = 0xdd45, 
    d[140] = 0xb5a0, d[141] = 0x56d0, d[142] = 0x55b2, d[143] = 0x49b0, d[144] = 0xa577, 
    d[145] = 0xa4b0, d[146] = 0xaa50, d[147] = 0xb255, d[148] = 0x6d2f, d[149] = 0xada0, 
    d[150] = 0x4b63, d[151] = 0x937f, d[152] = 0x49f8, d[153] = 0x4970, d[154] = 0x64b0, 
    d[155] = 0x68a6, d[156] = 0xea5f, d[157] = 0x6b20, d[158] = 0xa6c4, d[159] = 0xaaef, 
    d[160] = 0x92e0, d[161] = 0xd2e3, d[162] = 0xc960, d[163] = 0xd557, d[164] = 0xd4a0, 
    d[165] = 0xda50, d[166] = 0x5d55, d[167] = 0x56a0, d[168] = 0xa6d0, d[169] = 0x55d4, 
    d[170] = 0x52d0, d[171] = 0xa9b8, d[172] = 0xa950, d[173] = 0xb4a0, d[174] = 0xb6a6, 
    d[175] = 0xad50, d[176] = 0x55a0, d[177] = 0xaba4, d[178] = 0xa5b0, d[179] = 0x52b0, 
    d[180] = 0xb273, d[181] = 0x6930, d[182] = 0x7337, d[183] = 0x6aa0, d[184] = 0xad50, 
    d[185] = 0x4b55, d[186] = 0x4b6f, d[187] = 0xa570, d[188] = 0x54e4, d[189] = 0xd260, 
    d[190] = 0xe968, d[191] = 0xd520, d[192] = 0xdaa0, d[193] = 0x6aa6, d[194] = 0x56df, 
    d[195] = 0x4ae0, d[196] = 0xa9d4, d[197] = 0xa4d0, d[198] = 0xd150, d[199] = 0xf252, 
    d[200] = 0x0d520;
}

void LineLn()
{
    printf("===========================================\n");
}

// 初始化节气信息
void dataAllocJieQiTime(dataIndex** pData)
{
    AllocIndex(4776, pData);
    int* d = (*pData)->pIndex;
    d[0] = 1272508; d[1] = 1275546; d[2] = 1282183; d[3] = 1290038; d[4] = 1300629; d[5] = 1311220; d[6] = 1323265; d[7] = 1333686; d[8] = 1344103; d[9] = 1351320; d[10] = 1357250; d[11] = 1359023; d[12] = 1358759; d[13] = 1354467; d[14] = 1348155; d[15] = 1339009; d[16] = 1328613; d[17] = 1317178; d[18] = 1305727; d[19] = 1295068; d[20] = 1285686; d[21] = 1278480; d[22] = 1273544; d[23] = 1271509;
    d[24] = 1272185; d[25] = 1275804; d[26] = 1281902; d[27] = 1290359; d[28] = 1300362; d[29] = 1311646; d[30] = 1322945; d[31] = 1334218; d[32] = 1343655; d[33] = 1351908; d[34] = 1356679; d[35] = 1359588; d[36] = 1358171; d[37] = 1354941; d[38] = 1347683; d[39] = 1339366; d[40] = 1328321; d[41] = 1317452; d[42] = 1305586; d[43] = 1295295; d[44] = 1285604; d[45] = 1278684; d[46] = 1273438; d[47] = 1271698;
    d[48] = 1272023; d[49] = 1275974; d[50] = 1281692; d[51] = 1290470; d[52] = 1300141; d[53] = 1311653; d[54] = 1322802; d[55] = 1334080; d[56] = 1343683; d[57] = 1351576; d[58] = 1356921; d[59] = 1359071; d[60] = 1358613; d[61] = 1354344; d[62] = 1348247; d[63] = 1338802; d[64] = 1328935; d[65] = 1316990; d[66] = 1306228; d[67] = 1294928; d[68] = 1286257; d[69] = 1278338; d[70] = 1274070; d[71] = 1271292;
    d[72] = 1272589; d[73] = 1275465; d[74] = 1282171; d[75] = 1289884; d[76] = 1300554; d[77] = 1311067; d[78] = 1323166; d[79] = 1333603; d[80] = 1343979; d[81] = 1351326; d[82] = 1357068; d[83] = 1359101; d[84] = 1358529; d[85] = 1354625; d[86] = 1347945; d[87] = 1339246; d[88] = 1328480; d[89] = 1317483; d[90] = 1305679; d[91] = 1295420; d[92] = 1285681; d[93] = 1278835; d[94] = 1273506; d[95] = 1271797;
    d[96] = 1272049; d[97] = 1275976; d[98] = 1281644; d[99] = 1290408; d[100] = 1300015; d[101] = 1311617; d[102] = 1322597; d[103] = 1334186; d[104] = 1343421; d[105] = 1351923; d[106] = 1356623; d[107] = 1359620; d[108] = 1358274; d[109] = 1354936; d[110] = 1347873; d[111] = 1339294; d[112] = 1328534; d[113] = 1317322; d[114] = 1305808; d[115] = 1295156; d[116] = 1285855; d[117] = 1278567; d[118] = 1273716; d[119] = 1271590;
    d[120] = 1272290; d[121] = 1275833; d[122] = 1281909; d[123] = 1290278; d[124] = 1300315; d[125] = 1311417; d[126] = 1322957; d[127] = 1333819; d[128] = 1343832; d[129] = 1351337; d[130] = 1357069; d[131] = 1358917; d[132] = 1358738; d[133] = 1354280; d[134] = 1348299; d[135] = 1338790; d[136] = 1328890; d[137] = 1316980; d[138] = 1306099; d[139] = 1294911; d[140] = 1286107; d[141] = 1278354; d[142] = 1273974; d[143] = 1271386;
    d[144] = 1272587; d[145] = 1275640; d[146] = 1282233; d[147] = 1290099; d[148] = 1300601; d[149] = 1311269; d[150] = 1323114; d[151] = 1333759; d[152] = 1343786; d[153] = 1351439; d[154] = 1356774; d[155] = 1359208; d[156] = 1358236; d[157] = 1354742; d[158] = 1347718; d[159] = 1339360; d[160] = 1328327; d[161] = 1317594; d[162] = 1305590; d[163] = 1295531; d[164] = 1285617; d[165] = 1278934; d[166] = 1273431; d[167] = 1271889;
    d[168] = 1271962; d[169] = 1276082; d[170] = 1281569; d[171] = 1290527; d[172] = 1299954; d[173] = 1311708; d[174] = 1322546; d[175] = 1334182; d[176] = 1343379; d[177] = 1351782; d[178] = 1356603; d[179] = 1359371; d[180] = 1358326; d[181] = 1354682; d[182] = 1348045; d[183] = 1339119; d[184] = 1328810; d[185] = 1317230; d[186] = 1306128; d[187] = 1295087; d[188] = 1286146; d[189] = 1278443; d[190] = 1273926; d[191] = 1271375;
    d[192] = 1272417; d[193] = 1275549; d[194] = 1282001; d[195] = 1289980; d[196] = 1300420; d[197] = 1311152; d[198] = 1323089; d[199] = 1333625; d[200] = 1343986; d[201] = 1351257; d[202] = 1357198; d[203] = 1358939; d[204] = 1358765; d[205] = 1354357; d[206] = 1348217; d[207] = 1338917; d[208] = 1328759; d[209] = 1317156; d[210] = 1305956; d[211] = 1295114; d[212] = 1285956; d[213] = 1278540; d[214] = 1273787; d[215] = 1271509;
    d[216] = 1272342; d[217] = 1275696; d[218] = 1281948; d[219] = 1290148; d[220] = 1300329; d[221] = 1311389; d[222] = 1322899; d[223] = 1333986; d[224] = 1343642; d[225] = 1351744; d[226] = 1356695; d[227] = 1359506; d[228] = 1358189; d[229] = 1354922; d[230] = 1347662; d[231] = 1339385; d[232] = 1328274; d[233] = 1317519; d[234] = 1305562; d[235] = 1295433; d[236] = 1285632; d[237] = 1278874; d[238] = 1273498; d[239] = 1271890;
    d[240] = 1272059; d[241] = 1276106; d[242] = 1281645; d[243] = 1290503; d[244] = 1299982; d[245] = 1311603; d[246] = 1322567; d[247] = 1334018; d[248] = 1343448; d[249] = 1351572; d[250] = 1356741; d[251] = 1359141; d[252] = 1358514; d[253] = 1354452; d[254] = 1348212; d[255] = 1338890; d[256] = 1328914; d[257] = 1317021; d[258] = 1306203; d[259] = 1294935; d[260] = 1286247; d[261] = 1278363; d[262] = 1274090; d[263] = 1271349;
    d[264] = 1272631; d[265] = 1275533; d[266] = 1282200; d[267] = 1289914; d[268] = 1300530; d[269] = 1311012; d[270] = 1323083; d[271] = 1333463; d[272] = 1343895; d[273] = 1351159; d[274] = 1357058; d[275] = 1358965; d[276] = 1358621; d[277] = 1354549; d[278] = 1348112; d[279] = 1339219; d[280] = 1328654; d[281] = 1317446; d[282] = 1305795; d[283] = 1295329; d[284] = 1285733; d[285] = 1278701; d[286] = 1273535; d[287] = 1271660;
    d[288] = 1272097; d[289] = 1275865; d[290] = 1281723; d[291] = 1290325; d[292] = 1300100; d[293] = 1311536; d[294] = 1322646; d[295] = 1334082; d[296] = 1343403; d[297] = 1351823; d[298] = 1356562; d[299] = 1359591; d[300] = 1358218; d[301] = 1355010; d[302] = 1347849; d[303] = 1339460; d[304] = 1328540; d[305] = 1317523; d[306] = 1305798; d[307] = 1295318; d[308] = 1285770; d[309] = 1278645; d[310] = 1273546; d[311] = 1271595;
    d[312] = 1272070; d[313] = 1275814; d[314] = 1281694; d[315] = 1290286; d[316] = 1300137; d[317] = 1311476; d[318] = 1322820; d[319] = 1333908; d[320] = 1343712; d[321] = 1351413; d[322] = 1356962; d[323] = 1358966; d[324] = 1358689; d[325] = 1354326; d[326] = 1348342; d[327] = 1338855; d[328] = 1329017; d[329] = 1317059; d[330] = 1306269; d[331] = 1294973; d[332] = 1286250; d[333] = 1278349; d[334] = 1274030; d[335] = 1271280;
    d[336] = 1272538; d[337] = 1275447; d[338] = 1282118; d[339] = 1289874; d[340] = 1300494; d[341] = 1311068; d[342] = 1323082; d[343] = 1333611; d[344] = 1343855; d[345] = 1351338; d[346] = 1356904; d[347] = 1359132; d[348] = 1358380; d[349] = 1354699; d[350] = 1347863; d[351] = 1339372; d[352] = 1328481; d[353] = 1317660; d[354] = 1305749; d[355] = 1295625; d[356] = 1285760; d[357] = 1279004; d[358] = 1273517; d[359] = 1271874;
    d[360] = 1271954; d[361] = 1275956; d[362] = 1281457; d[363] = 1290313; d[364] = 1299778; d[365] = 1311481; d[366] = 1322371; d[367] = 1334038; d[368] = 1343259; d[369] = 1351784; d[370] = 1356553; d[371] = 1359505; d[372] = 1358316; d[373] = 1354880; d[374] = 1348037; d[375] = 1339327; d[376] = 1328800; d[377] = 1317427; d[378] = 1306127; d[379] = 1295279; d[380] = 1286148; d[381] = 1278627; d[382] = 1273911; d[383] = 1271523;
    d[384] = 1272346; d[385] = 1275625; d[386] = 1281841; d[387] = 1289962; d[388] = 1300169; d[389] = 1311059; d[390] = 1322806; d[391] = 1333510; d[392] = 1343765; d[393] = 1351189; d[394] = 1357122; d[395] = 1358952; d[396] = 1358855; d[397] = 1354427; d[398] = 1348416; d[399] = 1338988; d[400] = 1328984; d[401] = 1317188; d[402] = 1306160; d[403] = 1295104; d[404] = 1286129; d[405] = 1278505; d[406] = 1273940; d[407] = 1271458;
    d[408] = 1272471; d[409] = 1275614; d[410] = 1282032; d[411] = 1290004; d[412] = 1300343; d[413] = 1311163; d[414] = 1322848; d[415] = 1333700; d[416] = 1343569; d[417] = 1351479; d[418] = 1356666; d[419] = 1359357; d[420] = 1358252; d[421] = 1354942; d[422] = 1347811; d[423] = 1339543; d[424] = 1328445; d[425] = 1317722; d[426] = 1305689; d[427] = 1295597; d[428] = 1285678; d[429] = 1278967; d[430] = 1273478; d[431] = 1271926;
    d[432] = 1272009; d[433] = 1276113; d[434] = 1281576; d[435] = 1290494; d[436] = 1299882; d[437] = 1311575; d[438] = 1322411; d[439] = 1333968; d[440] = 1343236; d[441] = 1351530; d[442] = 1356517; d[443] = 1359153; d[444] = 1358356; d[445] = 1354561; d[446] = 1348183; d[447] = 1339099; d[448] = 1329011; d[449] = 1317280; d[450] = 1306350; d[451] = 1295165; d[452] = 1286350; d[453] = 1278507; d[454] = 1274098; d[455] = 1271401;
    d[456] = 1272552; d[457] = 1275523; d[458] = 1282082; d[459] = 1289884; d[460] = 1300416; d[461] = 1310979; d[462] = 1322991; d[463] = 1333405; d[464] = 1343824; d[465] = 1351052; d[466] = 1357014; d[467] = 1358820; d[468] = 1358636; d[469] = 1354415; d[470] = 1348215; d[471] = 1339161; d[472] = 1328861; d[473] = 1317482; d[474] = 1306074; d[475] = 1295416; d[476] = 1286017; d[477] = 1278760; d[478] = 1273754; d[479] = 1271626;
    d[480] = 1272213; d[481] = 1275726; d[482] = 1281751; d[483] = 1290125; d[484] = 1300093; d[485] = 1311339; d[486] = 1322653; d[487] = 1333930; d[488] = 1343426; d[489] = 1351719; d[490] = 1356563; d[491] = 1359531; d[492] = 1358177; d[493] = 1355001; d[494] = 1347781; d[495] = 1339517; d[496] = 1328493; d[497] = 1317663; d[498] = 1305811; d[499] = 1295535; d[500] = 1285829; d[501] = 1278893; d[502] = 1273600; d[503] = 1271804;
    d[504] = 1272059; d[505] = 1275933; d[506] = 1281584; d[507] = 1290313; d[508] = 1299949; d[509] = 1311463; d[510] = 1322613; d[511] = 1333923; d[512] = 1343543; d[513] = 1351485; d[514] = 1356850; d[515] = 1359059; d[516] = 1358621; d[517] = 1354390; d[518] = 1348302; d[519] = 1338872; d[520] = 1329003; d[521] = 1317054; d[522] = 1306299; d[523] = 1294995; d[524] = 1286337; d[525] = 1278418; d[526] = 1274158; d[527] = 1271372;
    d[528] = 1272659; d[529] = 1275510; d[530] = 1282185; d[531] = 1289860; d[532] = 1300484; d[533] = 1310967; d[534] = 1323032; d[535] = 1333458; d[536] = 1343843; d[537] = 1351202; d[538] = 1356984; d[539] = 1359046; d[540] = 1358533; d[541] = 1354650; d[542] = 1348021; d[543] = 1339330; d[544] = 1328593; d[545] = 1317593; d[546] = 1305807; d[547] = 1295540; d[548] = 1285797; d[549] = 1278929; d[550] = 1273574; d[551] = 1271828;
    d[552] = 1272045; d[553] = 1275932; d[554] = 1281563; d[555] = 1290286; d[556] = 1299856; d[557] = 1311425; d[558] = 1322386; d[559] = 1333961; d[560] = 1343219; d[561] = 1351745; d[562] = 1356504; d[563] = 1359569; d[564] = 1358298; d[565] = 1355040; d[566] = 1348036; d[567] = 1339524; d[568] = 1328781; d[569] = 1317592; d[570] = 1306047; d[571] = 1295371; d[572] = 1285996; d[573] = 1278657; d[574] = 1273720; d[575] = 1271540;
    d[576] = 1272168; d[577] = 1275671; d[578] = 1281704; d[579] = 1290056; d[580] = 1300073; d[581] = 1311182; d[582] = 1322726; d[583] = 1333626; d[584] = 1343686; d[585] = 1351266; d[586] = 1357067; d[587] = 1359006; d[588] = 1358883; d[589] = 1354487; d[590] = 1348539; d[591] = 1339057; d[592] = 1329163; d[593] = 1317236; d[594] = 1306333; d[595] = 1295089; d[596] = 1286231; d[597] = 1278397; d[598] = 1273945; d[599] = 1271270;
    d[600] = 1272414; d[601] = 1275397; d[602] = 1281974; d[603] = 1289811; d[604] = 1300336; d[605] = 1311021; d[606] = 1322918; d[607] = 1333606; d[608] = 1343702; d[609] = 1351409; d[610] = 1356812; d[611] = 1359300; d[612] = 1358393; d[613] = 1354938; d[614] = 1347960; d[615] = 1339616; d[616] = 1328598; d[617] = 1317843; d[618] = 1305820; d[619] = 1295711; d[620] = 1285751; d[621] = 1279013; d[622] = 1273458; d[623] = 1271862;
    d[624] = 1271888; d[625] = 1275951; d[626] = 1281387; d[627] = 1290298; d[628] = 1299687; d[629] = 1311429; d[630] = 1322266; d[631] = 1333937; d[632] = 1343166; d[633] = 1351631; d[634] = 1356501; d[635] = 1359338; d[636] = 1358348; d[637] = 1354768; d[638] = 1348182; d[639] = 1339317; d[640] = 1329041; d[641] = 1317499; d[642] = 1306403; d[643] = 1295368; d[644] = 1286391; d[645] = 1278666; d[646] = 1274079; d[647] = 1271479;
    d[648] = 1272431; d[649] = 1275494; d[650] = 1281851; d[651] = 1289763; d[652] = 1300126; d[653] = 1310824; d[654] = 1322732; d[655] = 1333286; d[656] = 1343683; d[657] = 1351018; d[658] = 1357042; d[659] = 1358868; d[660] = 1358806; d[661] = 1354482; d[662] = 1348440; d[663] = 1339202; d[664] = 1329087; d[665] = 1317493; d[666] = 1306292; d[667] = 1295417; d[668] = 1286221; d[669] = 1278743; d[670] = 1273928; d[671] = 1271565;
    d[672] = 1272325; d[673] = 1275586; d[674] = 1281770; d[675] = 1289882; d[676] = 1300017; d[677] = 1311020; d[678] = 1322529; d[679] = 1333609; d[680] = 1343330; d[681] = 1351490; d[682] = 1356554; d[683] = 1359472; d[684] = 1358278; d[685] = 1355117; d[686] = 1347935; d[687] = 1339720; d[688] = 1328621; d[689] = 1317865; d[690] = 1305877; d[691] = 1295702; d[692] = 1285842; d[693] = 1279024; d[694] = 1273580; d[695] = 1271905;
    d[696] = 1272009; d[697] = 1275993; d[698] = 1281485; d[699] = 1290309; d[700] = 1299768; d[701] = 1311388; d[702] = 1322342; d[703] = 1333805; d[704] = 1343233; d[705] = 1351394; d[706] = 1356586; d[707] = 1359065; d[708] = 1358496; d[709] = 1354527; d[710] = 1348351; d[711] = 1339102; d[712] = 1329161; d[713] = 1317287; d[714] = 1306462; d[715] = 1295163; d[716] = 1286436; d[717] = 1278501; d[718] = 1274177; d[719] = 1271391;
    d[720] = 1272624; d[721] = 1275491; d[722] = 1282118; d[723] = 1289808; d[724] = 1300389; d[725] = 1310860; d[726] = 1322903; d[727] = 1333274; d[728] = 1343700; d[729] = 1350963; d[730] = 1356883; d[731] = 1358815; d[732] = 1358533; d[733] = 1354505; d[734] = 1348159; d[735] = 1339325; d[736] = 1328850; d[737] = 1317696; d[738] = 1306109; d[739] = 1295655; d[740] = 1286053; d[741] = 1278972; d[742] = 1273732; d[743] = 1271766;
    d[744] = 1272112; d[745] = 1275791; d[746] = 1281576; d[747] = 1290112; d[748] = 1299848; d[749] = 1311252; d[750] = 1322359; d[751] = 1333790; d[752] = 1343146; d[753] = 1351584; d[754] = 1356375; d[755] = 1359454; d[756] = 1358146; d[757] = 1355012; d[758] = 1347921; d[759] = 1339622; d[760] = 1328760; d[761] = 1317816; d[762] = 1306115; d[763] = 1295665; d[764] = 1286087; d[765] = 1278937; d[766] = 1273756; d[767] = 1271732;
    d[768] = 1272102; d[769] = 1275755; d[770] = 1281539; d[771] = 1290060; d[772] = 1299853; d[773] = 1311167; d[774] = 1322502; d[775] = 1333627; d[776] = 1343485; d[777] = 1351270; d[778] = 1356891; d[779] = 1358981; d[780] = 1358744; d[781] = 1354429; d[782] = 1348462; d[783] = 1339002; d[784] = 1329177; d[785] = 1317229; d[786] = 1306452; d[787] = 1295150; d[788] = 1286425; d[789] = 1278497; d[790] = 1274150; d[791] = 1271348;
    d[792] = 1272559; d[793] = 1275397; d[794] = 1282019; d[795] = 1289709; d[796] = 1300299; d[797] = 1310846; d[798] = 1322865; d[799] = 1333411; d[800] = 1343700; d[801] = 1351234; d[802] = 1356866; d[803] = 1359152; d[804] = 1358465; d[805] = 1354808; d[806] = 1348009; d[807] = 1339507; d[808] = 1328620; d[809] = 1317767; d[810] = 1305850; d[811] = 1295695; d[812] = 1285826; d[813] = 1279061; d[814] = 1273581; d[815] = 1271941;
    d[816] = 1272024; d[817] = 1276006; d[818] = 1281480; d[819] = 1290283; d[820] = 1299693; d[821] = 1311346; d[822] = 1322188; d[823] = 1333837; d[824] = 1343047; d[825] = 1351590; d[826] = 1356390; d[827] = 1359394; d[828] = 1358262; d[829] = 1354891; d[830] = 1348102; d[831] = 1339448; d[832] = 1328940; d[833] = 1317591; d[834] = 1306276; d[835] = 1295426; d[836] = 1286259; d[837] = 1278731; d[838] = 1273971; d[839] = 1271577;
    d[840] = 1272358; d[841] = 1275624; d[842] = 1281795; d[843] = 1289894; d[844] = 1300053; d[845] = 1310918; d[846] = 1322623; d[847] = 1333318; d[848] = 1343565; d[849] = 1351008; d[850] = 1356976; d[851] = 1358861; d[852] = 1358842; d[853] = 1354494; d[854] = 1348568; d[855] = 1339208; d[856] = 1329243; d[857] = 1317453; d[858] = 1306409; d[859] = 1295302; d[860] = 1286271; d[861] = 1278568; d[862] = 1273933; d[863] = 1271374;
    d[864] = 1272336; d[865] = 1275423; d[866] = 1281824; d[867] = 1289766; d[868] = 1300122; d[869] = 1310936; d[870] = 1322660; d[871] = 1333526; d[872] = 1343454; d[873] = 1351396; d[874] = 1356654; d[875] = 1359404; d[876] = 1358372; d[877] = 1355120; d[878] = 1348038; d[879] = 1339807; d[880] = 1328719; d[881] = 1317991; d[882] = 1305937; d[883] = 1295796; d[884] = 1285822; d[885] = 1279033; d[886] = 1273464; d[887] = 1271827;
    d[888] = 1271833; d[889] = 1275876; d[890] = 1281308; d[891] = 1290223; d[892] = 1299637; d[893] = 1311381; d[894] = 1322266; d[895] = 1333887; d[896] = 1343192; d[897] = 1351541; d[898] = 1356548; d[899] = 1359239; d[900] = 1358458; d[901] = 1354707; d[902] = 1348349; d[903] = 1339294; d[904] = 1329211; d[905] = 1317480; d[906] = 1306536; d[907] = 1295325; d[908] = 1286472; d[909] = 1278589; d[910] = 1274120; d[911] = 1271372;
    d[912] = 1272454; d[913] = 1275376; d[914] = 1281875; d[915] = 1289653; d[916] = 1300156; d[917] = 1310737; d[918] = 1322762; d[919] = 1333228; d[920] = 1343699; d[921] = 1350989; d[922] = 1357015; d[923] = 1358869; d[924] = 1358741; d[925] = 1354539; d[926] = 1348385; d[927] = 1339342; d[928] = 1329079; d[929] = 1317717; d[930] = 1306340; d[931] = 1295675; d[932] = 1286263; d[933] = 1278956; d[934] = 1273883; d[935] = 1271670;
    d[936] = 1272169; d[937] = 1275586; d[938] = 1281529; d[939] = 1289816; d[940] = 1299735; d[941] = 1310938; d[942] = 1322261; d[943] = 1333557; d[944] = 1343136; d[945] = 1351500; d[946] = 1356464; d[947] = 1359538; d[948] = 1358296; d[949] = 1355211; d[950] = 1348061; d[951] = 1339853; d[952] = 1328844; d[953] = 1318031; d[954] = 1306153; d[955] = 1295861; d[956] = 1286098; d[957] = 1279112; d[958] = 1273735; d[959] = 1271865;
    d[960] = 1272023; d[961] = 1275809; d[962] = 1281370; d[963] = 1290016; d[964] = 1299583; d[965] = 1311053; d[966] = 1322178; d[967] = 1333524; d[968] = 1343204; d[969] = 1351262; d[970] = 1356740; d[971] = 1359099; d[972] = 1358762; d[973] = 1354646; d[974] = 1348621; d[975] = 1339244; d[976] = 1329378; d[977] = 1317411; d[978] = 1306615; d[979] = 1295248; d[980] = 1286529; d[981] = 1278536; d[982] = 1274210; d[983] = 1271353;
    d[984] = 1272583; d[985] = 1275367; d[986] = 1281997; d[987] = 1289623; d[988] = 1300215; d[989] = 1310676; d[990] = 1322729; d[991] = 1333166; d[992] = 1343577; d[993] = 1350985; d[994] = 1356843; d[995] = 1358989; d[996] = 1358584; d[997] = 1354784; d[998] = 1348259; d[999] = 1339617; d[1000] = 1328934; d[1001] = 1317930; d[1002] = 1306137; d[1003] = 1295814; d[1004] = 1286024; d[1005] = 1279091; d[1006] = 1273688; d[1007] = 1271892;
    d[1008] = 1272070; d[1009] = 1275906; d[1010] = 1281492; d[1011] = 1290154; d[1012] = 1299674; d[1013] = 1311196; d[1014] = 1322115; d[1015] = 1333665; d[1016] = 1342908; d[1017] = 1351433; d[1018] = 1356222; d[1019] = 1359333; d[1020] = 1358137; d[1021] = 1354975; d[1022] = 1348072; d[1023] = 1339677; d[1024] = 1329017; d[1025] = 1317918; d[1026] = 1306406; d[1027] = 1295759; d[1028] = 1286354; d[1029] = 1278986; d[1030] = 1273964; d[1031] = 1271719;
    d[1032] = 1272242; d[1033] = 1275672; d[1034] = 1281609; d[1035] = 1289897; d[1036] = 1299844; d[1037] = 1310916; d[1038] = 1322419; d[1039] = 1333312; d[1040] = 1343368; d[1041] = 1350968; d[1042] = 1356800; d[1043] = 1358793; d[1044] = 1358740; d[1045] = 1354440; d[1046] = 1348589; d[1047] = 1339209; d[1048] = 1329393; d[1049] = 1317528; d[1050] = 1306666; d[1051] = 1295428; d[1052] = 1286563; d[1053] = 1278684; d[1054] = 1274174; d[1055] = 1271411;
    d[1056] = 1272469; d[1057] = 1275351; d[1058] = 1281850; d[1059] = 1289601; d[1060] = 1300086; d[1061] = 1310726; d[1062] = 1322627; d[1063] = 1333318; d[1064] = 1343463; d[1065] = 1351207; d[1066] = 1356681; d[1067] = 1359228; d[1068] = 1358387; d[1069] = 1354982; d[1070] = 1348055; d[1071] = 1339746; d[1072] = 1328763; d[1073] = 1318028; d[1074] = 1306033; d[1075] = 1295923; d[1076] = 1285971; d[1077] = 1279208; d[1078] = 1273627; d[1079] = 1271981;
    d[1080] = 1271950; d[1081] = 1275946; d[1082] = 1281329; d[1083] = 1290188; d[1084] = 1299551; d[1085] = 1311276; d[1086] = 1322105; d[1087] = 1333784; d[1088] = 1343017; d[1089] = 1351512; d[1090] = 1356396; d[1091] = 1359286; d[1092] = 1358317; d[1093] = 1354780; d[1094] = 1348213; d[1095] = 1339371; d[1096] = 1329097; d[1097] = 1317563; d[1098] = 1306467; d[1099] = 1295437; d[1100] = 1286460; d[1101] = 1278748; d[1102] = 1274153; d[1103] = 1271567;
    d[1104] = 1272496; d[1105] = 1275558; d[1106] = 1281877; d[1107] = 1289768; d[1108] = 1300079; d[1109] = 1310755; d[1110] = 1322616; d[1111] = 1333161; d[1112] = 1343544; d[1113] = 1350889; d[1114] = 1356935; d[1115] = 1358791; d[1116] = 1358772; d[1117] = 1354475; d[1118] = 1348484; d[1119] = 1339266; d[1120] = 1329189; d[1121] = 1317613; d[1122] = 1306432; d[1123] = 1295550; d[1124] = 1286346; d[1125] = 1278836; d[1126] = 1273986; d[1127] = 1271583;
    d[1128] = 1272310; d[1129] = 1275531; d[1130] = 1281692; d[1131] = 1289763; d[1132] = 1299882; d[1133] = 1310850; d[1134] = 1322354; d[1135] = 1333415; d[1136] = 1343163; d[1137] = 1351332; d[1138] = 1356455; d[1139] = 1359421; d[1140] = 1358301; d[1141] = 1355202; d[1142] = 1348085; d[1143] = 1339927; d[1144] = 1328852; d[1145] = 1318122; d[1146] = 1306113; d[1147] = 1295912; d[1148] = 1285994; d[1149] = 1279115; d[1150] = 1273592; d[1151] = 1271850;
    d[1152] = 1271889; d[1153] = 1275818; d[1154] = 1281278; d[1155] = 1290075; d[1156] = 1299530; d[1157] = 1311157; d[1158] = 1322130; d[1159] = 1333643; d[1160] = 1343122; d[1161] = 1351364; d[1162] = 1356613; d[1163] = 1359176; d[1164] = 1358641; d[1165] = 1354728; d[1166] = 1348573; d[1167] = 1339349; d[1168] = 1329400; d[1169] = 1317517; d[1170] = 1306661; d[1171] = 1295315; d[1172] = 1286535; d[1173] = 1278530; d[1174] = 1274136; d[1175] = 1271275;
    d[1176] = 1272444; d[1177] = 1275257; d[1178] = 1281854; d[1179] = 1289533; d[1180] = 1300125; d[1181] = 1310635; d[1182] = 1322719; d[1183] = 1333159; d[1184] = 1343644; d[1185] = 1350971; d[1186] = 1356954; d[1187] = 1358932; d[1188] = 1358704; d[1189] = 1354697; d[1190] = 1348395; d[1191] = 1339558; d[1192] = 1329099; d[1193] = 1317914; d[1194] = 1306315; d[1195] = 1295809; d[1196] = 1286176; d[1197] = 1279042; d[1198] = 1273767; d[1199] = 1271752;
    d[1200] = 1272052; d[1201] = 1275671; d[1202] = 1281403; d[1203] = 1289877; d[1204] = 1299580; d[1205] = 1310961; d[1206] = 1322079; d[1207] = 1333535; d[1208] = 1342946; d[1209] = 1351433; d[1210] = 1356300; d[1211] = 1359437; d[1212] = 1358196; d[1213] = 1355118; d[1214] = 1348078; d[1215] = 1339830; d[1216] = 1328993; d[1217] = 1318087; d[1218] = 1306384; d[1219] = 1295940; d[1220] = 1286326; d[1221] = 1279151; d[1222] = 1273898; d[1223] = 1271824;
    d[1224] = 1272100; d[1225] = 1275684; d[1226] = 1281372; d[1227] = 1289822; d[1228] = 1299541; d[1229] = 1310817; d[1230] = 1322125; d[1231] = 1333272; d[1232] = 1343167; d[1233] = 1351030; d[1234] = 1356736; d[1235] = 1358943; d[1236] = 1358806; d[1237] = 1354609; d[1238] = 1348719; d[1239] = 1339325; d[1240] = 1329520; d[1241] = 1317573; d[1242] = 1306777; d[1243] = 1295436; d[1244] = 1286667; d[1245] = 1278675; d[1246] = 1274263; d[1247] = 1271384;
    d[1248] = 1272517; d[1249] = 1275272; d[1250] = 1281826; d[1251] = 1289438; d[1252] = 1299984; d[1253] = 1310480; d[1254] = 1322495; d[1255] = 1333044; d[1256] = 1343388; d[1257] = 1350989; d[1258] = 1356732; d[1259] = 1359128; d[1260] = 1358567; d[1261] = 1355012; d[1262] = 1348310; d[1263] = 1339855; d[1264] = 1328997; d[1265] = 1318126; d[1266] = 1306185; d[1267] = 1295964; d[1268] = 1286042; d[1269] = 1279197; d[1270] = 1273653; d[1271] = 1271936;
    d[1272] = 1271956; d[1273] = 1275875; d[1274] = 1281312; d[1275] = 1290081; d[1276] = 1299484; d[1277] = 1311126; d[1278] = 1321965; d[1279] = 1333617; d[1280] = 1342829; d[1281] = 1351397; d[1282] = 1356229; d[1283] = 1359301; d[1284] = 1358232; d[1285] = 1354949; d[1286] = 1348234; d[1287] = 1339654; d[1288] = 1329189; d[1289] = 1317873; d[1290] = 1306549; d[1291] = 1295683; d[1292] = 1286466; d[1293] = 1278896; d[1294] = 1274066; d[1295] = 1271632;
    d[1296] = 1272344; d[1297] = 1275580; d[1298] = 1281697; d[1299] = 1289774; d[1300] = 1299891; d[1301] = 1310747; d[1302] = 1322422; d[1303] = 1333118; d[1304] = 1343352; d[1305] = 1350807; d[1306] = 1356791; d[1307] = 1358710; d[1308] = 1358744; d[1309] = 1354450; d[1310] = 1348608; d[1311] = 1339319; d[1312] = 1329442; d[1313] = 1317725; d[1314] = 1306741; d[1315] = 1295655; d[1316] = 1286616; d[1317] = 1278859; d[1318] = 1274150; d[1319] = 1271493;
    d[1320] = 1272358; d[1321] = 1275346; d[1322] = 1281669; d[1323] = 1289532; d[1324] = 1299847; d[1325] = 1310620; d[1326] = 1322346; d[1327] = 1333208; d[1328] = 1343181; d[1329] = 1351146; d[1330] = 1356474; d[1331] = 1359273; d[1332] = 1358318; d[1333] = 1355132; d[1334] = 1348131; d[1335] = 1339973; d[1336] = 1328944; d[1337] = 1318278; d[1338] = 1306253; d[1339] = 1296128; d[1340] = 1286142; d[1341] = 1279315; d[1342] = 1273686; d[1343] = 1271965;
    d[1344] = 1271879; d[1345] = 1275819; d[1346] = 1281162; d[1347] = 1289990; d[1348] = 1299348; d[1349] = 1311054; d[1350] = 1321936; d[1351] = 1333593; d[1352] = 1342954; d[1353] = 1351395; d[1354] = 1356474; d[1355] = 1359258; d[1356] = 1358513; d[1357] = 1354820; d[1358] = 1348474; d[1359] = 1339450; d[1360] = 1329366; d[1361] = 1317651; d[1362] = 1306706; d[1363] = 1295495; d[1364] = 1286636; d[1365] = 1278736; d[1366] = 1274241; d[1367] = 1271458;
    d[1368] = 1272490; d[1369] = 1275362; d[1370] = 1281801; d[1371] = 1289529; d[1372] = 1299980; d[1373] = 1310542; d[1374] = 1322543; d[1375] = 1333030; d[1376] = 1343521; d[1377] = 1350860; d[1378] = 1356945; d[1379] = 1358861; d[1380] = 1358799; d[1381] = 1354635; d[1382] = 1348528; d[1383] = 1339480; d[1384] = 1329231; d[1385] = 1317836; d[1386] = 1306452; d[1387] = 1295751; d[1388] = 1286339; d[1389] = 1279016; d[1390] = 1273958; d[1391] = 1271746;
    d[1392] = 1272247; d[1393] = 1275644; d[1394] = 1281555; d[1395] = 1289786; d[1396] = 1299655; d[1397] = 1310794; d[1398] = 1322077; d[1399] = 1333332; d[1400] = 1342910; d[1401] = 1351271; d[1402] = 1356280; d[1403] = 1359394; d[1404] = 1358221; d[1405] = 1355204; d[1406] = 1348123; d[1407] = 1339976; d[1408] = 1329000; d[1409] = 1318219; d[1410] = 1306330; d[1411] = 1296035; d[1412] = 1286233; d[1413] = 1279229; d[1414] = 1273805; d[1415] = 1271918;
    d[1416] = 1272032; d[1417] = 1275800; d[1418] = 1281323; d[1419] = 1289942; d[1420] = 1299474; d[1421] = 1310913; d[1422] = 1322005; d[1423] = 1333335; d[1424] = 1343003; d[1425] = 1351078; d[1426] = 1356581; d[1427] = 1359008; d[1428] = 1358733; d[1429] = 1354719; d[1430] = 1348765; d[1431] = 1339465; d[1432] = 1329630; d[1433] = 1317684; d[1434] = 1306870; d[1435] = 1295465; d[1436] = 1286690; d[1437] = 1278623; d[1438] = 1274222; d[1439] = 1271289;
    d[1440] = 1272455; d[1441] = 1275187; d[1442] = 1281788; d[1443] = 1289389; d[1444] = 1299992; d[1445] = 1310455; d[1446] = 1322538; d[1447] = 1333002; d[1448] = 1343455; d[1449] = 1350906; d[1450] = 1356821; d[1451] = 1359024; d[1452] = 1358686; d[1453] = 1354939; d[1454] = 1348478; d[1455] = 1339860; d[1456] = 1329208; d[1457] = 1318189; d[1458] = 1306390; d[1459] = 1296012; d[1460] = 1286179; d[1461] = 1279164; d[1462] = 1273689; d[1463] = 1271803;
    d[1464] = 1271910; d[1465] = 1275680; d[1466] = 1281241; d[1467] = 1289892; d[1468] = 1299445; d[1469] = 1311003; d[1470] = 1321975; d[1471] = 1333574; d[1472] = 1342858; d[1473] = 1351426; d[1474] = 1356244; d[1475] = 1359391; d[1476] = 1358219; d[1477] = 1355085; d[1478] = 1348211; d[1479] = 1339842; d[1480] = 1329193; d[1481] = 1318111; d[1482] = 1306585; d[1483] = 1295930; d[1484] = 1286489; d[1485] = 1279094; d[1486] = 1274012; d[1487] = 1271730;
    d[1488] = 1272177; d[1489] = 1275567; d[1490] = 1281434; d[1491] = 1289695; d[1492] = 1299602; d[1493] = 1310683; d[1494] = 1322186; d[1495] = 1333128; d[1496] = 1343222; d[1497] = 1350885; d[1498] = 1356770; d[1499] = 1358820; d[1500] = 1358811; d[1501] = 1354544; d[1502] = 1348727; d[1503] = 1339373; d[1504] = 1329591; d[1505] = 1317762; d[1506] = 1306926; d[1507] = 1295695; d[1508] = 1286816; d[1509] = 1278889; d[1510] = 1274315; d[1511] = 1271472;
    d[1512] = 1272445; d[1513] = 1275233; d[1514] = 1281650; d[1515] = 1289315; d[1516] = 1299750; d[1517] = 1310340; d[1518] = 1322248; d[1519] = 1332950; d[1520] = 1343170; d[1521] = 1350979; d[1522] = 1356574; d[1523] = 1359217; d[1524] = 1358494; d[1525] = 1355173; d[1526] = 1348325; d[1527] = 1340061; d[1528] = 1329097; d[1529] = 1318367; d[1530] = 1306354; d[1531] = 1296211; d[1532] = 1286221; d[1533] = 1279396; d[1534] = 1273756; d[1535] = 1272028;
    d[1536] = 1271923; d[1537] = 1275832; d[1538] = 1281142; d[1539] = 1289922; d[1540] = 1299231; d[1541] = 1310910; d[1542] = 1321728; d[1543] = 1333433; d[1544] = 1342724; d[1545] = 1351318; d[1546] = 1356304; d[1547] = 1359320; d[1548] = 1358436; d[1549] = 1355006; d[1550] = 1348492; d[1551] = 1339705; d[1552] = 1329432; d[1553] = 1317892; d[1554] = 1306750; d[1555] = 1295666; d[1556] = 1286627; d[1557] = 1278850; d[1558] = 1274188; d[1559] = 1271546;
    d[1560] = 1272414; d[1561] = 1275435; d[1562] = 1281702; d[1563] = 1289570; d[1564] = 1299846; d[1565] = 1310519; d[1566] = 1322360; d[1567] = 1332929; d[1568] = 1343321; d[1569] = 1350713; d[1570] = 1356814; d[1571] = 1358742; d[1572] = 1358807; d[1573] = 1354587; d[1574] = 1348684; d[1575] = 1339510; d[1576] = 1329487; d[1577] = 1317910; d[1578] = 1306728; d[1579] = 1295797; d[1580] = 1286556; d[1581] = 1278984; d[1582] = 1274091; d[1583] = 1271637;
    d[1584] = 1272319; d[1585] = 1275489; d[1586] = 1281599; d[1587] = 1289614; d[1588] = 1299693; d[1589] = 1310615; d[1590] = 1322101; d[1591] = 1333136; d[1592] = 1342895; d[1593] = 1351056; d[1594] = 1356224; d[1595] = 1359218; d[1596] = 1358171; d[1597] = 1355146; d[1598] = 1348126; d[1599] = 1340059; d[1600] = 1329067; d[1601] = 1318415; d[1602] = 1306442; d[1603] = 1296270; d[1604] = 1286330; d[1605] = 1279420; d[1606] = 1273823; d[1607] = 1272011;
    d[1608] = 1271951; d[1609] = 1275799; d[1610] = 1281169; d[1611] = 1289895; d[1612] = 1299293; d[1613] = 1310875; d[1614] = 1321826; d[1615] = 1333339; d[1616] = 1342826; d[1617] = 1351106; d[1618] = 1356391; d[1619] = 1359030; d[1620] = 1358550; d[1621] = 1354742; d[1622] = 1348653; d[1623] = 1339518; d[1624] = 1329619; d[1625] = 1317790; d[1626] = 1306953; d[1627] = 1295619; d[1628] = 1286823; d[1629] = 1278782; d[1630] = 1274329; d[1631] = 1271393;
    d[1632] = 1272476; d[1633] = 1275197; d[1634] = 1281710; d[1635] = 1289312; d[1636] = 1299856; d[1637] = 1310332; d[1638] = 1322414; d[1639] = 1332880; d[1640] = 1343403; d[1641] = 1350795; d[1642] = 1356851; d[1643] = 1358901; d[1644] = 1358746; d[1645] = 1354788; d[1646] = 1348540; d[1647] = 1339713; d[1648] = 1329286; d[1649] = 1318093; d[1650] = 1306511; d[1651] = 1295983; d[1652] = 1286354; d[1653] = 1279184; d[1654] = 1273890; d[1655] = 1271823;
    d[1656] = 1272082; d[1657] = 1275642; d[1658] = 1281336; d[1659] = 1289766; d[1660] = 1299450; d[1661] = 1310807; d[1662] = 1321920; d[1663] = 1333376; d[1664] = 1342795; d[1665] = 1351307; d[1666] = 1356212; d[1667] = 1359390; d[1668] = 1358197; d[1669] = 1355158; d[1670] = 1348154; d[1671] = 1339925; d[1672] = 1329088; d[1673] = 1318187; d[1674] = 1306462; d[1675] = 1296018; d[1676] = 1286384; d[1677] = 1279214; d[1678] = 1273943; d[1679] = 1271878;
    d[1680] = 1272128; d[1681] = 1275715; d[1682] = 1281364; d[1683] = 1289801; d[1684] = 1299472; d[1685] = 1310725; d[1686] = 1321992; d[1687] = 1333131; d[1688] = 1343012; d[1689] = 1350894; d[1690] = 1356625; d[1691] = 1358873; d[1692] = 1358781; d[1693] = 1354634; d[1694] = 1348787; d[1695] = 1339440; d[1696] = 1329666; d[1697] = 1317753; d[1698] = 1306962; d[1699] = 1295609; d[1700] = 1286809; d[1701] = 1278767; d[1702] = 1274301; d[1703] = 1271366;
    d[1704] = 1272453; d[1705] = 1275166; d[1706] = 1281690; d[1707] = 1289269; d[1708] = 1299802; d[1709] = 1310274; d[1710] = 1322293; d[1711] = 1332835; d[1712] = 1343211; d[1713] = 1350832; d[1714] = 1356643; d[1715] = 1359093; d[1716] = 1358616; d[1717] = 1355129; d[1718] = 1348502; d[1719] = 1340098; d[1720] = 1329280; d[1721] = 1318422; d[1722] = 1306474; d[1723] = 1296209; d[1724] = 1286239; d[1725] = 1279306; d[1726] = 1273691; d[1727] = 1271877;
    d[1728] = 1271829; d[1729] = 1275674; d[1730] = 1281070; d[1731] = 1289801; d[1732] = 1299201; d[1733] = 1310845; d[1734] = 1321719; d[1735] = 1333421; d[1736] = 1342699; d[1737] = 1351350; d[1738] = 1356251; d[1739] = 1359403; d[1740] = 1358377; d[1741] = 1355159; d[1742] = 1348472; d[1743] = 1339925; d[1744] = 1329459; d[1745] = 1318140; d[1746] = 1306782; d[1747] = 1295876; d[1748] = 1286598; d[1749] = 1278961; d[1750] = 1274051; d[1751] = 1271546;
    d[1752] = 1272173; d[1753] = 1275360; d[1754] = 1281417; d[1755] = 1289487; d[1756] = 1299590; d[1757] = 1310487; d[1758] = 1322188; d[1759] = 1332962; d[1760] = 1343246; d[1761] = 1350781; d[1762] = 1356824; d[1763] = 1358807; d[1764] = 1358891; d[1765] = 1354636; d[1766] = 1348839; d[1767] = 1339557; d[1768] = 1329702; d[1769] = 1317969; d[1770] = 1306974; d[1771] = 1295849; d[1772] = 1286782; d[1773] = 1278983; d[1774] = 1274238; d[1775] = 1271534;
    d[1776] = 1272345; d[1777] = 1275265; d[1778] = 1281516; d[1779] = 1289305; d[1780] = 1299572; d[1781] = 1310302; d[1782] = 1322031; d[1783] = 1332901; d[1784] = 1342930; d[1785] = 1350937; d[1786] = 1356357; d[1787] = 1359210; d[1788] = 1358344; d[1789] = 1355220; d[1790] = 1348290; d[1791] = 1340184; d[1792] = 1329202; d[1793] = 1318573; d[1794] = 1306557; d[1795] = 1296442; d[1796] = 1286429; d[1797] = 1279570; d[1798] = 1273879; d[1799] = 1272094;
    d[1800] = 1271924; d[1801] = 1275778; d[1802] = 1281029; d[1803] = 1289766; d[1804] = 1299052; d[1805] = 1310691; d[1806] = 1321542; d[1807] = 1333199; d[1808] = 1342589; d[1809] = 1351101; d[1810] = 1356264; d[1811] = 1359179; d[1812] = 1358540; d[1813] = 1354989; d[1814] = 1348724; d[1815] = 1339780; d[1816] = 1329715; d[1817] = 1318012; d[1818] = 1307037; d[1819] = 1295795; d[1820] = 1286886; d[1821] = 1278927; d[1822] = 1274364; d[1823] = 1271509;
    d[1824] = 1272464; d[1825] = 1275262; d[1826] = 1281627; d[1827] = 1289291; d[1828] = 1299690; d[1829] = 1310211; d[1830] = 1322189; d[1831] = 1332688; d[1832] = 1343200; d[1833] = 1350609; d[1834] = 1356778; d[1835] = 1358799; d[1836] = 1358856; d[1837] = 1354795; d[1838] = 1348794; d[1839] = 1339797; d[1840] = 1329599; d[1841] = 1318192; d[1842] = 1306798; d[1843] = 1296033; d[1844] = 1286574; d[1845] = 1279168; d[1846] = 1274050; d[1847] = 1271757;
    d[1848] = 1272202; d[1849] = 1275540; d[1850] = 1281420; d[1851] = 1289624; d[1852] = 1299486; d[1853] = 1310609; d[1854] = 1321888; d[1855] = 1333128; d[1856] = 1342700; d[1857] = 1351061; d[1858] = 1356103; d[1859] = 1359248; d[1860] = 1358146; d[1861] = 1355196; d[1862] = 1348200; d[1863] = 1340127; d[1864] = 1329212; d[1865] = 1318483; d[1866] = 1306603; d[1867] = 1296310; d[1868] = 1286470; d[1869] = 1279430; d[1870] = 1273939; d[1871] = 1272004;
    d[1872] = 1272047; d[1873] = 1275778; d[1874] = 1281240; d[1875] = 1289834; d[1876] = 1299323; d[1877] = 1310746; d[1878] = 1321812; d[1879] = 1333140; d[1880] = 1342794; d[1881] = 1350879; d[1882] = 1356388; d[1883] = 1358844; d[1884] = 1358597; d[1885] = 1354646; d[1886] = 1348746; d[1887] = 1339538; d[1888] = 1329780; d[1889] = 1317930; d[1890] = 1307175; d[1891] = 1295812; d[1892] = 1287035; d[1893] = 1278925; d[1894] = 1274456; d[1895] = 1271436;
    d[1896] = 1272503; d[1897] = 1275142; d[1898] = 1281655; d[1899] = 1289185; d[1900] = 1299737; d[1901] = 1310162; d[1902] = 1322244; d[1903] = 1332709; d[1904] = 1343200; d[1905] = 1350681; d[1906] = 1356658; d[1907] = 1358908; d[1908] = 1358635; d[1909] = 1354941; d[1910] = 1348550; d[1911] = 1339982; d[1912] = 1329397; d[1913] = 1318420; d[1914] = 1306668; d[1915] = 1296297; d[1916] = 1286479; d[1917] = 1279422; d[1918] = 1273917; d[1919] = 1271948;
    d[1920] = 1271984; d[1921] = 1275651; d[1922] = 1281130; d[1923] = 1289691; d[1924] = 1299191; d[1925] = 1310702; d[1926] = 1321679; d[1927] = 1333307; d[1928] = 1342654; d[1929] = 1351302; d[1930] = 1356196; d[1931] = 1359416; d[1932] = 1358283; d[1933] = 1355191; d[1934] = 1348328; d[1935] = 1339969; d[1936] = 1329313; d[1937] = 1318234; d[1938] = 1306696; d[1939] = 1296043; d[1940] = 1286590; d[1941] = 1279192; d[1942] = 1274089; d[1943] = 1271794;
    d[1944] = 1272200; d[1945] = 1275565; d[1946] = 1281375; d[1947] = 1289609; d[1948] = 1299462; d[1949] = 1310533; d[1950] = 1322009; d[1951] = 1332976; d[1952] = 1343078; d[1953] = 1350794; d[1954] = 1356721; d[1955] = 1358832; d[1956] = 1358871; d[1957] = 1354646; d[1958] = 1348861; d[1959] = 1339503; d[1960] = 1329718; d[1961] = 1317861; d[1962] = 1306997; d[1963] = 1295740; d[1964] = 1286847; d[1965] = 1278919; d[1966] = 1274356; d[1967] = 1271524;
    d[1968] = 1272498; d[1969] = 1275275; d[1970] = 1281663; d[1971] = 1289283; d[1972] = 1299676; d[1973] = 1310211; d[1974] = 1322086; d[1975] = 1332752; d[1976] = 1342974; d[1977] = 1350780; d[1978] = 1356426; d[1979] = 1359096; d[1980] = 1358448; d[1981] = 1355182; d[1982] = 1348408; d[1983] = 1340190; d[1984] = 1329268; d[1985] = 1318558; d[1986] = 1306538; d[1987] = 1296379; d[1988] = 1286352; d[1989] = 1279487; d[1990] = 1273804; d[1991] = 1272033;
    d[1992] = 1271894; d[1993] = 1275766; d[1994] = 1281052; d[1995] = 1289798; d[1996] = 1299092; d[1997] = 1310739; d[1998] = 1321546; d[1999] = 1333242; d[2000] = 1342535; d[2001] = 1351156; d[2002] = 1356179; d[2003] = 1359272; d[2004] = 1358454; d[2005] = 1355130; d[2006] = 1348672; d[2007] = 1339954; d[2008] = 1329694; d[2009] = 1318167; d[2010] = 1306993; d[2011] = 1295875; d[2012] = 1286768; d[2013] = 1278920; d[2014] = 1274175; d[2015] = 1271456;
    d[2016] = 1272251; d[2017] = 1275222; d[2018] = 1281449; d[2019] = 1289306; d[2020] = 1299580; d[2021] = 1310281; d[2022] = 1322146; d[2023] = 1332771; d[2024] = 1343199; d[2025] = 1350661; d[2026] = 1356817; d[2027] = 1358812; d[2028] = 1358946; d[2029] = 1354781; d[2030] = 1348937; d[2031] = 1339780; d[2032] = 1329783; d[2033] = 1318182; d[2034] = 1306984; d[2035] = 1295993; d[2036] = 1286706; d[2037] = 1279045; d[2038] = 1274085; d[2039] = 1271537;
    d[2040] = 1272148; d[2041] = 1275254; d[2042] = 1281334; d[2043] = 1289340; d[2044] = 1299442; d[2045] = 1310392; d[2046] = 1321931; d[2047] = 1333006; d[2048] = 1342823; d[2049] = 1351021; d[2050] = 1356251; d[2051] = 1359268; d[2052] = 1358271; d[2053] = 1355270; d[2054] = 1348285; d[2055] = 1340240; d[2056] = 1329266; d[2057] = 1318626; d[2058] = 1306639; d[2059] = 1296457; d[2060] = 1286477; d[2061] = 1279535; d[2062] = 1273879; d[2063] = 1272022;
    d[2064] = 1271890; d[2065] = 1275690; d[2066] = 1280989; d[2067] = 1289677; d[2068] = 1299033; d[2069] = 1310606; d[2070] = 1321561; d[2071] = 1333108; d[2072] = 1342639; d[2073] = 1350988; d[2074] = 1356334; d[2075] = 1359048; d[2076] = 1358618; d[2077] = 1354873; d[2078] = 1348811; d[2079] = 1339730; d[2080] = 1329855; d[2081] = 1318073; d[2082] = 1307246; d[2083] = 1295918; d[2084] = 1287091; d[2085] = 1278996; d[2086] = 1274471; d[2087] = 1271453;
    d[2088] = 1272443; d[2089] = 1275077; d[2090] = 1281497; d[2091] = 1289020; d[2092] = 1299501; d[2093] = 1309930; d[2094] = 1322004; d[2095] = 1332483; d[2096] = 1343066; d[2097] = 1350537; d[2098] = 1356707; d[2099] = 1358874; d[2100] = 1358843; d[2101] = 1354991; d[2102] = 1348837; d[2103] = 1340057; d[2104] = 1329669; d[2105] = 1318464; d[2106] = 1306872; d[2107] = 1296288; d[2108] = 1286623; d[2109] = 1279369; d[2110] = 1274020; d[2111] = 1271858;
    d[2112] = 1272047; d[2113] = 1275512; d[2114] = 1281138; d[2115] = 1289485; d[2116] = 1299123; d[2117] = 1310429; d[2118] = 1321543; d[2119] = 1333016; d[2120] = 1342497; d[2121] = 1351093; d[2122] = 1356098; d[2123] = 1359383; d[2124] = 1358291; d[2125] = 1355350; d[2126] = 1348425; d[2127] = 1340251; d[2128] = 1329439; d[2129] = 1318540; d[2130] = 1306776; d[2131] = 1296289; d[2132] = 1286584; d[2133] = 1279349; d[2134] = 1274005; d[2135] = 1271882;
    d[2136] = 1272064; d[2137] = 1275610; d[2138] = 1281201; d[2139] = 1289618; d[2140] = 1299247; d[2141] = 1310499; d[2142] = 1321742; d[2143] = 1332899; d[2144] = 1342777; d[2145] = 1350701; d[2146] = 1356467; d[2147] = 1358785; d[2148] = 1358763; d[2149] = 1354704; d[2150] = 1348941; d[2151] = 1339660; d[2152] = 1329944; d[2153] = 1318062; d[2154] = 1307269; d[2155] = 1295904; d[2156] = 1287065; d[2157] = 1278980; d[2158] = 1274463; d[2159] = 1271474;
    d[2160] = 1272499; d[2161] = 1275147; d[2162] = 1281601; d[2163] = 1289117; d[2164] = 1299597; d[2165] = 1310021; d[2166] = 1322016; d[2167] = 1332534; d[2168] = 1342917; d[2169] = 1350535; d[2170] = 1356388; d[2171] = 1358862; d[2172] = 1358462; d[2173] = 1355042; d[2174] = 1348517; d[2175] = 1340199; d[2176] = 1329481; d[2177] = 1318700; d[2178] = 1306807; d[2179] = 1296574; d[2180] = 1286605; d[2181] = 1279635; d[2182] = 1273969; d[2183] = 1272068;
    d[2184] = 1271938; d[2185] = 1275679; d[2186] = 1280996; d[2187] = 1289635; d[2188] = 1298981; d[2189] = 1310566; d[2190] = 1321421; d[2191] = 1333110; d[2192] = 1342401; d[2193] = 1351083; d[2194] = 1356030; d[2195] = 1359252; d[2196] = 1358289; d[2197] = 1355167; d[2198] = 1348536; d[2199] = 1340070; d[2200] = 1329645; d[2201] = 1318381; d[2202] = 1307043; d[2203] = 1296160; d[2204] = 1286875; d[2205] = 1279215; d[2206] = 1274258; d[2207] = 1271693;
    d[2208] = 1272238; d[2209] = 1275348; d[2210] = 1281313; d[2211] = 1289318; d[2212] = 1299356; d[2213] = 1310224; d[2214] = 1321905; d[2215] = 1332707; d[2216] = 1343008; d[2217] = 1350611; d[2218] = 1356709; d[2219] = 1358767; d[2220] = 1358914; d[2221] = 1354715; d[2222] = 1348962; d[2223] = 1339694; d[2224] = 1329866; d[2225] = 1318123; d[2226] = 1307138; d[2227] = 1295995; d[2228] = 1286929; d[2229] = 1279101; d[2230] = 1274341; d[2231] = 1271598;
    d[2232] = 1272378; d[2233] = 1275260; d[2234] = 1281481; d[2235] = 1289242; d[2236] = 1299487; d[2237] = 1310192; d[2238] = 1321910; d[2239] = 1332762; d[2240] = 1342800; d[2241] = 1350810; d[2242] = 1356271; d[2243] = 1359138; d[2244] = 1358327; d[2245] = 1355229; d[2246] = 1348340; d[2247] = 1340249; d[2248] = 1329283; d[2249] = 1318652; d[2250] = 1306626; d[2251] = 1296505; d[2252] = 1286478; d[2253] = 1279618; d[2254] = 1273919; d[2255] = 1272139;
    d[2256] = 1271957; d[2257] = 1275812; d[2258] = 1281042; d[2259] = 1289764; d[2260] = 1299019; d[2261] = 1310627; d[2262] = 1321452; d[2263] = 1333085; d[2264] = 1342463; d[2265] = 1350984; d[2266] = 1356160; d[2267] = 1359110; d[2268] = 1358498; d[2269] = 1355002; d[2270] = 1348763; d[2271] = 1339882; d[2272] = 1329846; d[2273] = 1318192; d[2274] = 1307216; d[2275] = 1295975; d[2276] = 1287022; d[2277] = 1279015; d[2278] = 1274390; d[2279] = 1271482;
    d[2280] = 1272382; d[2281] = 1275144; d[2282] = 1281473; d[2283] = 1289120; d[2284] = 1299503; d[2285] = 1310019; d[2286] = 1322003; d[2287] = 1332514; d[2288] = 1343048; d[2289] = 1350497; d[2290] = 1356714; d[2291] = 1358798; d[2292] = 1358920; d[2293] = 1354924; d[2294] = 1348986; d[2295] = 1340024; d[2296] = 1329866; d[2297] = 1318452; d[2298] = 1307059; d[2299] = 1296244; d[2300] = 1286748; d[2301] = 1279252; d[2302] = 1274072; d[2303] = 1271680;
    d[2304] = 1272063; d[2305] = 1275324; d[2306] = 1281169; d[2307] = 1289336; d[2308] = 1299205; d[2309] = 1310337; d[2310] = 1321672; d[2311] = 1332969; d[2312] = 1342624; d[2313] = 1351061; d[2314] = 1356177; d[2315] = 1359376; d[2316] = 1358322; d[2317] = 1355407; d[2318] = 1348441; d[2319] = 1340375; d[2320] = 1329461; d[2321] = 1318716; d[2322] = 1306800; d[2323] = 1296471; d[2324] = 1286571; d[2325] = 1279476; d[2326] = 1273913; d[2327] = 1271915;
    d[2328] = 1271883; d[2329] = 1275566; d[2330] = 1280972; d[2331] = 1289558; d[2332] = 1299033; d[2333] = 1310496; d[2334] = 1321593; d[2335] = 1332997; d[2336] = 1342707; d[2337] = 1350878; d[2338] = 1356445; d[2339] = 1358967; d[2340] = 1358763; d[2341] = 1354852; d[2342] = 1348973; d[2343] = 1339778; d[2344] = 1330018; d[2345] = 1318163; d[2346] = 1307375; d[2347] = 1295993; d[2348] = 1287175; d[2349] = 1279039; d[2350] = 1274530; d[2351] = 1271467;
    d[2352] = 1272475; d[2353] = 1275048; d[2354] = 1281481; d[2355] = 1288942; d[2356] = 1299437; d[2357] = 1309825; d[2358] = 1321906; d[2359] = 1332387; d[2360] = 1342936; d[2361] = 1350476; d[2362] = 1356552; d[2363] = 1358871; d[2364] = 1358697; d[2365] = 1355068; d[2366] = 1348746; d[2367] = 1340219; d[2368] = 1329676; d[2369] = 1318714; d[2370] = 1306970; d[2371] = 1296588; d[2372] = 1286749; d[2373] = 1279643; d[2374] = 1274092; d[2375] = 1272042;
    d[2376] = 1272012; d[2377] = 1275582; d[2378] = 1280987; d[2379] = 1289452; d[2380] = 1298888; d[2381] = 1310327; d[2382] = 1321283; d[2383] = 1332900; d[2384] = 1342285; d[2385] = 1351002; d[2386] = 1356000; d[2387] = 1359352; d[2388] = 1358347; d[2389] = 1355400; d[2390] = 1348619; d[2391] = 1340334; d[2392] = 1329692; d[2393] = 1318610; d[2394] = 1307033; d[2395] = 1296337; d[2396] = 1286819; d[2397] = 1279357; d[2398] = 1274181; d[2399] = 1271814;
    d[2400] = 1272141; d[2401] = 1275441; d[2402] = 1281174; d[2403] = 1289362; d[2404] = 1299155; d[2405] = 1310203; d[2406] = 1321652; d[2407] = 1332640; d[2408] = 1342754; d[2409] = 1350550; d[2410] = 1356549; d[2411] = 1358773; d[2412] = 1358925; d[2413] = 1354818; d[2414] = 1349132; d[2415] = 1339839; d[2416] = 1330105; d[2417] = 1318238; d[2418] = 1307355; d[2419] = 1296036; d[2420] = 1287076; d[2421] = 1279062; d[2422] = 1274424; d[2423] = 1271510;
    d[2424] = 1272422; d[2425] = 1275151; d[2426] = 1281507; d[2427] = 1289112; d[2428] = 1299496; d[2429] = 1310018; d[2430] = 1321891; d[2431] = 1332537; d[2432] = 1342762; d[2433] = 1350563; d[2434] = 1356248; d[2435] = 1358939; d[2436] = 1358372; d[2437] = 1355167; d[2438] = 1348487; d[2439] = 1340343; d[2440] = 1329497; d[2441] = 1318833; d[2442] = 1306835; d[2443] = 1296676; d[2444] = 1286616; d[2445] = 1279705; d[2446] = 1273957; d[2447] = 1272120;
    d[2448] = 1271911; d[2449] = 1275724; d[2450] = 1280953; d[2451] = 1289655; d[2452] = 1298914; d[2453] = 1310530; d[2454] = 1321331; d[2455] = 1333010; d[2456] = 1342308; d[2457] = 1350940; d[2458] = 1355978; d[2459] = 1359107; d[2460] = 1358320; d[2461] = 1355067; d[2462] = 1348660; d[2463] = 1340044; d[2464] = 1329861; d[2465] = 1318435; d[2466] = 1307311; d[2467] = 1296240; d[2468] = 1287115; d[2469] = 1279230; d[2470] = 1274408; d[2471] = 1271601;
    d[2472] = 1272292; d[2473] = 1275165; d[2474] = 1281293; d[2475] = 1289079; d[2476] = 1299294; d[2477] = 1309963; d[2478] = 1321819; d[2479] = 1332461; d[2480] = 1342916; d[2481] = 1350438; d[2482] = 1356645; d[2483] = 1358711; d[2484] = 1358909; d[2485] = 1354810; d[2486] = 1349032; d[2487] = 1339924; d[2488] = 1329995; d[2489] = 1318424; d[2490] = 1307274; d[2491] = 1296284; d[2492] = 1287010; d[2493] = 1279308; d[2494] = 1274319; d[2495] = 1271685;
    d[2496] = 1272229; d[2497] = 1275231; d[2498] = 1281226; d[2499] = 1289139; d[2500] = 1299180; d[2501] = 1310081; d[2502] = 1321626; d[2503] = 1332723; d[2504] = 1342604; d[2505] = 1350874; d[2506] = 1356185; d[2507] = 1359265; d[2508] = 1358333; d[2509] = 1355367; d[2510] = 1348419; d[2511] = 1340380; d[2512] = 1329415; d[2513] = 1318768; d[2514] = 1306771; d[2515] = 1296584; d[2516] = 1286587; d[2517] = 1279637; d[2518] = 1273959; d[2519] = 1272083;
    d[2520] = 1271915; d[2521] = 1275688; d[2522] = 1280935; d[2523] = 1289593; d[2524] = 1298896; d[2525] = 1310451; d[2526] = 1321378; d[2527] = 1332935; d[2528] = 1342474; d[2529] = 1350868; d[2530] = 1356255; d[2531] = 1359027; d[2532] = 1358648; d[2533] = 1354959; d[2534] = 1348926; d[2535] = 1339873; d[2536] = 1329991; d[2537] = 1318207; d[2538] = 1307342; d[2539] = 1296006; d[2540] = 1287152; d[2541] = 1279063; d[2542] = 1274535; d[2543] = 1271521;
    d[2544] = 1272501; d[2545] = 1275118; d[2546] = 1281498; d[2547] = 1288986; d[2548] = 1299414; d[2549] = 1309797; d[2550] = 1321832; d[2551] = 1332276; d[2552] = 1342854; d[2553] = 1350326; d[2554] = 1356532; d[2555] = 1358736; d[2556] = 1358775; d[2557] = 1354985; d[2558] = 1348907; d[2559] = 1340187; d[2560] = 1329861; d[2561] = 1318681; d[2562] = 1307105; d[2563] = 1296503; d[2564] = 1286814; d[2565] = 1279504; d[2566] = 1274116; d[2567] = 1271885;
    d[2568] = 1272039; d[2569] = 1275443; d[2570] = 1281044; d[2571] = 1289343; d[2572] = 1298966; d[2573] = 1310234; d[2574] = 1321346; d[2575] = 1332798; d[2576] = 1342293; d[2577] = 1350908; d[2578] = 1355962; d[2579] = 1359318; d[2580] = 1358306; d[2581] = 1355464; d[2582] = 1348603; d[2583] = 1340491; d[2584] = 1329705; d[2585] = 1318816; d[2586] = 1307034; d[2587] = 1296518; d[2588] = 1286752; d[2589] = 1279451; d[2590] = 1274024; d[2591] = 1271822;
    d[2592] = 1271921; d[2593] = 1275413; d[2594] = 1280949; d[2595] = 1289355; d[2596] = 1298969; d[2597] = 1310254; d[2598] = 1321517; d[2599] = 1332737; d[2600] = 1342648; d[2601] = 1350650; d[2602] = 1356458; d[2603] = 1358848; d[2604] = 1358878; d[2605] = 1354883; d[2606] = 1349164; d[2607] = 1339914; d[2608] = 1330221; d[2609] = 1318328; d[2610] = 1307521; d[2611] = 1296115; d[2612] = 1287226; d[2613] = 1279078; d[2614] = 1274488; d[2615] = 1271422;
    d[2616] = 1272373; d[2617] = 1274967; d[2618] = 1281379; d[2619] = 1288885; d[2620] = 1299367; d[2621] = 1309808; d[2622] = 1321839; d[2623] = 1332384; d[2624] = 1342821; d[2625] = 1350473; d[2626] = 1356387; d[2627] = 1358879; d[2628] = 1358533; d[2629] = 1355127; d[2630] = 1348644; d[2631] = 1340343; d[2632] = 1329659; d[2633] = 1318888; d[2634] = 1307005; d[2635] = 1296767; d[2636] = 1286778; d[2637] = 1279781; d[2638] = 1274073; d[2639] = 1272119;
    d[2640] = 1271935; d[2641] = 1275610; d[2642] = 1280866; d[2643] = 1289444; d[2644] = 1298751; d[2645] = 1310297; d[2646] = 1321159; d[2647] = 1332853; d[2648] = 1342192; d[2649] = 1350930; d[2650] = 1355941; d[2651] = 1359239; d[2652] = 1358329; d[2653] = 1355275; d[2654] = 1348670; d[2655] = 1340263; d[2656] = 1329862; d[2657] = 1318647; d[2658] = 1307315; d[2659] = 1296445; d[2660] = 1287124; d[2661] = 1279429; d[2662] = 1274405; d[2663] = 1271770;
    d[2664] = 1272235; d[2665] = 1275264; d[2666] = 1281143; d[2667] = 1289079; d[2668] = 1299046; d[2669] = 1309874; d[2670] = 1321528; d[2671] = 1332346; d[2672] = 1342678; d[2673] = 1350370; d[2674] = 1356549; d[2675] = 1358731; d[2676] = 1358988; d[2677] = 1354898; d[2678] = 1349232; d[2679] = 1340015; d[2680] = 1330224; d[2681] = 1318468; d[2682] = 1307473; d[2683] = 1296277; d[2684] = 1287173; d[2685] = 1279271; d[2686] = 1274462; d[2687] = 1271633;
    d[2688] = 1272355; d[2689] = 1275154; d[2690] = 1281312; d[2691] = 1289007; d[2692] = 1299203; d[2693] = 1309871; d[2694] = 1321588; d[2695] = 1332456; d[2696] = 1342551; d[2697] = 1350622; d[2698] = 1356175; d[2699] = 1359115; d[2700] = 1358408; d[2701] = 1355381; d[2702] = 1348578; d[2703] = 1340530; d[2704] = 1329599; d[2705] = 1318963; d[2706] = 1306911; d[2707] = 1296743; d[2708] = 1286651; d[2709] = 1279728; d[2710] = 1273960; d[2711] = 1272122;
    d[2712] = 1271885; d[2713] = 1275703; d[2714] = 1280890; d[2715] = 1289596; d[2716] = 1298824; d[2717] = 1310432; d[2718] = 1321251; d[2719] = 1332891; d[2720] = 1342281; d[2721] = 1350829; d[2722] = 1356037; d[2723] = 1359040; d[2724] = 1358482; d[2725] = 1355063; d[2726] = 1348880; d[2727] = 1340075; d[2728] = 1330072; d[2729] = 1318461; d[2730] = 1307479; d[2731] = 1296244; d[2732] = 1287254; d[2733] = 1279225; d[2734] = 1274548; d[2735] = 1271591;
    d[2736] = 1272424; d[2737] = 1275121; d[2738] = 1281374; d[2739] = 1288966; d[2740] = 1299291; d[2741] = 1309773; d[2742] = 1321733; d[2743] = 1332233; d[2744] = 1342777; d[2745] = 1350240; d[2746] = 1356491; d[2747] = 1358612; d[2748] = 1358796; d[2749] = 1354867; d[2750] = 1349010; d[2751] = 1340127; d[2752] = 1330059; d[2753] = 1318705; d[2754] = 1307374; d[2755] = 1296577; d[2756] = 1287091; d[2757] = 1279554; d[2758] = 1274336; d[2759] = 1271851;
    d[2760] = 1272162; d[2761] = 1275313; d[2762] = 1281080; d[2763] = 1289152; d[2764] = 1298968; d[2765] = 1310040; d[2766] = 1321363; d[2767] = 1332645; d[2768] = 1342330; d[2769] = 1350804; d[2770] = 1355984; d[2771] = 1359261; d[2772] = 1358291; d[2773] = 1355458; d[2774] = 1348552; d[2775] = 1340538; d[2776] = 1329658; d[2777] = 1318936; d[2778] = 1307034; d[2779] = 1296715; d[2780] = 1286799; d[2781] = 1279684; d[2782] = 1274076; d[2783] = 1272026;
    d[2784] = 1271923; d[2785] = 1275536; d[2786] = 1280861; d[2787] = 1289389; d[2788] = 1298798; d[2789] = 1310241; d[2790] = 1321314; d[2791] = 1332747; d[2792] = 1342476; d[2793] = 1350722; d[2794] = 1356341; d[2795] = 1358949; d[2796] = 1358812; d[2797] = 1354968; d[2798] = 1349128; d[2799] = 1339956; d[2800] = 1330203; d[2801] = 1318335; d[2802] = 1307530; d[2803] = 1296128; d[2804] = 1287282; d[2805] = 1279125; d[2806] = 1274582; d[2807] = 1271495;
    d[2808] = 1272471; d[2809] = 1275028; d[2810] = 1281435; d[2811] = 1288884; d[2812] = 1299355; d[2813] = 1309721; d[2814] = 1321782; d[2815] = 1332241; d[2816] = 1342794; d[2817] = 1350340; d[2818] = 1356453; d[2819] = 1358792; d[2820] = 1358680; d[2821] = 1355080; d[2822] = 1348811; d[2823] = 1340305; d[2824] = 1329790; d[2825] = 1318821; d[2826] = 1307071; d[2827] = 1296669; d[2828] = 1286809; d[2829] = 1279681; d[2830] = 1274118; d[2831] = 1272048;
    d[2832] = 1272017; d[2833] = 1275567; d[2834] = 1280972; d[2835] = 1289409; d[2836] = 1298838; d[2837] = 1310239; d[2838] = 1321186; d[2839] = 1332769; d[2840] = 1342155; d[2841] = 1350871; d[2842] = 1355888; d[2843] = 1359275; d[2844] = 1358309; d[2845] = 1355418; d[2846] = 1348676; d[2847] = 1340467; d[2848] = 1329864; d[2849] = 1318836; d[2850] = 1307261; d[2851] = 1296561; d[2852] = 1286985; d[2853] = 1279464; d[2854] = 1274210; d[2855] = 1271774;
    d[2856] = 1272035; d[2857] = 1275287; d[2858] = 1280977; d[2859] = 1289148; d[2860] = 1298921; d[2861] = 1309981; d[2862] = 1321429; d[2863] = 1332450; d[2864] = 1342581; d[2865] = 1350437; d[2866] = 1356471; d[2867] = 1358776; d[2868] = 1358991; d[2869] = 1354961; d[2870] = 1349336; d[2871] = 1340093; d[2872] = 1330396; d[2873] = 1318530; d[2874] = 1307645; d[2875] = 1296278; d[2876] = 1287273; d[2877] = 1279173; d[2878] = 1274457; d[2879] = 1271441;
    d[2880] = 1272274; d[2881] = 1274919; d[2882] = 1281221; d[2883] = 1288791; d[2884] = 1299165; d[2885] = 1309713; d[2886] = 1321639; d[2887] = 1332355; d[2888] = 1342673; d[2889] = 1350549; d[2890] = 1356315; d[2891] = 1359047; d[2892] = 1358544; d[2893] = 1355359; d[2894] = 1348725; d[2895] = 1340586; d[2896] = 1329758; d[2897] = 1319075; d[2898] = 1307058; d[2899] = 1296861; d[2900] = 1286752; d[2901] = 1279783; d[2902] = 1273971; d[2903] = 1272065;
    d[2904] = 1271785; d[2905] = 1275537; d[2906] = 1280710; d[2907] = 1289383; d[2908] = 1298627; d[2909] = 1310259; d[2910] = 1321096; d[2911] = 1332827; d[2912] = 1342197; d[2913] = 1350899; d[2914] = 1356003; d[2915] = 1359199; d[2916] = 1358457; d[2917] = 1355252; d[2918] = 1348860; d[2919] = 1340278; d[2920] = 1330089; d[2921] = 1318678; d[2922] = 1307527; d[2923] = 1296457; d[2924] = 1287297; d[2925] = 1279401; d[2926] = 1274534; d[2927] = 1271685;
    d[2928] = 1272302; d[2929] = 1275100; d[2930] = 1281134; d[2931] = 1288844; d[2932] = 1298981; d[2933] = 1309608; d[2934] = 1321444; d[2935] = 1332099; d[2936] = 1342599; d[2937] = 1350192; d[2938] = 1356483; d[2939] = 1358649; d[2940] = 1358940; d[2941] = 1354928; d[2942] = 1349222; d[2943] = 1340168; d[2944] = 1330284; d[2945] = 1318725; d[2946] = 1307595; d[2947] = 1296587; d[2948] = 1287300; d[2949] = 1279546; d[2950] = 1274517; d[2951] = 1271798;
    d[2952] = 1272281; d[2953] = 1275181; d[2954] = 1281104; d[2955] = 1288917; d[2956] = 1298892; d[2957] = 1309718; d[2958] = 1321234; d[2959] = 1332308; d[2960] = 1342225; d[2961] = 1350551; d[2962] = 1355967; d[2963] = 1359172; d[2964] = 1358386; d[2965] = 1355546; d[2966] = 1348705; d[2967] = 1340725; d[2968] = 1329795; d[2969] = 1319137; d[2970] = 1307116; d[2971] = 1296884; d[2972] = 1286826; d[2973] = 1279815; d[2974] = 1274065; d[2975] = 1272120;
    d[2976] = 1271879; d[2977] = 1275585; d[2978] = 1280765; d[2979] = 1289373; d[2980] = 1298621; d[2981] = 1310151; d[2982] = 1321050; d[2983] = 1332618; d[2984] = 1342166; d[2985] = 1350623; d[2986] = 1356066; d[2987] = 1358943; d[2988] = 1358662; d[2989] = 1355090; d[2990] = 1349147; d[2991] = 1340178; d[2992] = 1330341; d[2993] = 1318576; d[2994] = 1307689; d[2995] = 1296317; d[2996] = 1287387; d[2997] = 1279231; d[2998] = 1274613; d[2999] = 1271531;
    d[3000] = 1272441; d[3001] = 1275021; d[3002] = 1281365; d[3003] = 1288844; d[3004] = 1299252; d[3005] = 1309627; d[3006] = 1321644; d[3007] = 1332072; d[3008] = 1342646; d[3009] = 1350113; d[3010] = 1356344; d[3011] = 1358563; d[3012] = 1358668; d[3013] = 1354928; d[3014] = 1348936; d[3015] = 1340286; d[3016] = 1330043; d[3017] = 1318913; d[3018] = 1307382; d[3019] = 1296789; d[3020] = 1287090; d[3021] = 1279742; d[3022] = 1274308; d[3023] = 1272005;
    d[3024] = 1272106; d[3025] = 1275432; d[3026] = 1280988; d[3027] = 1289224; d[3028] = 1298819; d[3029] = 1310041; d[3030] = 1321148; d[3031] = 1332576; d[3032] = 1342081; d[3033] = 1350696; d[3034] = 1355768; d[3035] = 1359148; d[3036] = 1358168; d[3037] = 1355378; d[3038] = 1348565; d[3039] = 1340548; d[3040] = 1329837; d[3041] = 1319043; d[3042] = 1307320; d[3043] = 1296847; d[3044] = 1287077; d[3045] = 1279751; d[3046] = 1274261; d[3047] = 1271984;
    d[3048] = 1271993; d[3049] = 1275388; d[3050] = 1280830; d[3051] = 1289164; d[3052] = 1298710; d[3053] = 1309968; d[3054] = 1321208; d[3055] = 1332453; d[3056] = 1342382; d[3057] = 1350454; d[3058] = 1356301; d[3059] = 1358774; d[3060] = 1358856; d[3061] = 1354927; d[3062] = 1349252; d[3063] = 1340049; d[3064] = 1330395; d[3065] = 1318523; d[3066] = 1307747; d[3067] = 1296342; d[3068] = 1287459; d[3069] = 1279287; d[3070] = 1274669; d[3071] = 1271549;
    d[3072] = 1272438; d[3073] = 1274956; d[3074] = 1281289; d[3075] = 1288725; d[3076] = 1299142; d[3077] = 1309556; d[3078] = 1321585; d[3079] = 1332161; d[3080] = 1342657; d[3081] = 1350371; d[3082] = 1356360; d[3083] = 1358898; d[3084] = 1358621; d[3085] = 1355232; d[3086] = 1348785; d[3087] = 1340474; d[3088] = 1329790; d[3089] = 1318991; d[3090] = 1307093; d[3091] = 1296831; d[3092] = 1286828; d[3093] = 1279817; d[3094] = 1274100; d[3095] = 1272135;
    d[3096] = 1271938; d[3097] = 1275593; d[3098] = 1280829; d[3099] = 1289381; d[3100] = 1298662; d[3101] = 1310185; d[3102] = 1321038; d[3103] = 1332724; d[3104] = 1342086; d[3105] = 1350846; d[3106] = 1355899; d[3107] = 1359246; d[3108] = 1358382; d[3109] = 1355379; d[3110] = 1348792; d[3111] = 1340418; d[3112] = 1329997; d[3113] = 1318776; d[3114] = 1307400; d[3115] = 1296518; d[3116] = 1287158; d[3117] = 1279464; d[3118] = 1274420; d[3119] = 1271786;
    d[3120] = 1272230; d[3121] = 1275243; d[3122] = 1281090; d[3123] = 1289001; d[3124] = 1298928; d[3125] = 1309734; d[3126] = 1321356; d[3127] = 1332161; d[3128] = 1342488; d[3129] = 1350204; d[3130] = 1356408; d[3131] = 1358651; d[3132] = 1358964; d[3133] = 1354947; d[3134] = 1349344; d[3135] = 1340186; d[3136] = 1330444; d[3137] = 1318702; d[3138] = 1307718; d[3139] = 1296490; d[3140] = 1287352; d[3141] = 1279381; d[3142] = 1274520; d[3143] = 1271611;
    d[3144] = 1272289; d[3145] = 1275022; d[3146] = 1281155; d[3147] = 1288808; d[3148] = 1298996; d[3149] = 1309645; d[3150] = 1321370; d[3151] = 1332238; d[3152] = 1342362; d[3153] = 1350468; d[3154] = 1356086; d[3155] = 1359103; d[3156] = 1358497; d[3157] = 1355548; d[3158] = 1348823; d[3159] = 1340811; d[3160] = 1329909; d[3161] = 1319259; d[3162] = 1307188; d[3163] = 1296974; d[3164] = 1286816; d[3165] = 1279816; d[3166] = 1273960; d[3167] = 1272033;
    d[3168] = 1271713; d[3169] = 1275459; d[3170] = 1280597; d[3171] = 1289279; d[3172] = 1298501; d[3173] = 1310141; d[3174] = 1320993; d[3175] = 1332702; d[3176] = 1342148; d[3177] = 1350779; d[3178] = 1356047; d[3179] = 1359128; d[3180] = 1358631; d[3181] = 1355278; d[3182] = 1349137; d[3183] = 1340374; d[3184] = 1330380; d[3185] = 1318771; d[3186] = 1307749; d[3187] = 1296482; d[3188] = 1287415; d[3189] = 1279328; d[3190] = 1274557; d[3191] = 1271530;
    d[3192] = 1272281; d[3193] = 1274928; d[3194] = 1281134; d[3195] = 1288712; d[3196] = 1299023; d[3197] = 1309524; d[3198] = 1321499; d[3199] = 1332038; d[3200] = 1342632; d[3201] = 1350148; d[3202] = 1356462; d[3203] = 1358629; d[3204] = 1358872; d[3205] = 1354976; d[3206] = 1349165; d[3207] = 1340311; d[3208] = 1330279; d[3209] = 1318936; d[3210] = 1307620; d[3211] = 1296808; d[3212] = 1287306; d[3213] = 1279725; d[3214] = 1274465; d[3215] = 1271910;
    d[3216] = 1272167; d[3217] = 1275232; d[3218] = 1280942; d[3219] = 1288931; d[3220] = 1298707; d[3221] = 1309724; d[3222] = 1321049; d[3223] = 1332326; d[3224] = 1342064; d[3225] = 1350588; d[3226] = 1355850; d[3227] = 1359207; d[3228] = 1358322; d[3229] = 1355566; d[3230] = 1348719; d[3231] = 1340773; d[3232] = 1329935; d[3233] = 1319252; d[3234] = 1307361; d[3235] = 1297032; d[3236] = 1287079; d[3237] = 1279911; d[3238] = 1274231; d[3239] = 1272103;
    d[3240] = 1271913; d[3241] = 1275438; d[3242] = 1280675; d[3243] = 1289129; d[3244] = 1298464; d[3245] = 1309869; d[3246] = 1320907; d[3247] = 1332357; d[3248] = 1342111; d[3249] = 1350443; d[3250] = 1356139; d[3251] = 1358881; d[3252] = 1358852; d[3253] = 1355138; d[3254] = 1349390; d[3255] = 1340299; d[3256] = 1330588; d[3257] = 1318724; d[3258] = 1307909; d[3259] = 1296461; d[3260] = 1287561; d[3261] = 1279339; d[3262] = 1274721; d[3263] = 1271558;
    d[3264] = 1272452; d[3265] = 1274934; d[3266] = 1281261; d[3267] = 1288652; d[3268] = 1299061; d[3269] = 1309405; d[3270] = 1321454; d[3271] = 1331933; d[3272] = 1342530; d[3273] = 1350127; d[3274] = 1356314; d[3275] = 1358718; d[3276] = 1358708; d[3277] = 1355176; d[3278] = 1349008; d[3279] = 1340555; d[3280] = 1330099; d[3281] = 1319140; d[3282] = 1307391; d[3283] = 1296950; d[3284] = 1287038; d[3285] = 1279844; d[3286] = 1274211; d[3287] = 1272071;
    d[3288] = 1271980; d[3289] = 1275473; d[3290] = 1280838; d[3291] = 1289236; d[3292] = 1298645; d[3293] = 1310026; d[3294] = 1320977; d[3295] = 1332549; d[3296] = 1341959; d[3297] = 1350683; d[3298] = 1355735; d[3299] = 1359163; d[3300] = 1358247; d[3301] = 1355426; d[3302] = 1348740; d[3303] = 1340612; d[3304] = 1330051; d[3305] = 1319085; d[3306] = 1307522; d[3307] = 1296852; d[3308] = 1287260; d[3309] = 1279733; d[3310] = 1274428; d[3311] = 1271942;
    d[3312] = 1272124; d[3313] = 1275295; d[3314] = 1280901; d[3315] = 1289002; d[3316] = 1298709; d[3317] = 1309729; d[3318] = 1321145; d[3319] = 1332159; d[3320] = 1342291; d[3321] = 1350175; d[3322] = 1356226; d[3323] = 1358587; d[3324] = 1358843; d[3325] = 1354885; d[3326] = 1349329; d[3327] = 1340169; d[3328] = 1330558; d[3329] = 1318759; d[3330] = 1307946; d[3331] = 1296611; d[3332] = 1287628; d[3333] = 1279504; d[3334] = 1274756; d[3335] = 1271660;
    d[3336] = 1272420; d[3337] = 1274955; d[3338] = 1281170; d[3339] = 1288638; d[3340] = 1298939; d[3341] = 1309425; d[3342] = 1321320; d[3343] = 1332022; d[3344] = 1342364; d[3345] = 1350276; d[3346] = 1356117; d[3347] = 1358923; d[3348] = 1358520; d[3349] = 1355396; d[3350] = 1348835; d[3351] = 1340722; d[3352] = 1329934; d[3353] = 1319260; d[3354] = 1307267; d[3355] = 1297070; d[3356] = 1286958; d[3357] = 1279973; d[3358] = 1274131; d[3359] = 1272181;
    d[3360] = 1271846; d[3361] = 1275531; d[3362] = 1280635; d[3363] = 1289245; d[3364] = 1298428; d[3365] = 1310029; d[3366] = 1320843; d[3367] = 1332587; d[3368] = 1341982; d[3369] = 1350738; d[3370] = 1355902; d[3371] = 1359170; d[3372] = 1358495; d[3373] = 1355354; d[3374] = 1348996; d[3375] = 1340447; d[3376] = 1330249; d[3377] = 1318837; d[3378] = 1307653; d[3379] = 1296573; d[3380] = 1287373; d[3381] = 1279472; d[3382] = 1274568; d[3383] = 1271716;
    d[3384] = 1272311; d[3385] = 1275110; d[3386] = 1281128; d[3387] = 1288834; d[3388] = 1298939; d[3389] = 1309547; d[3390] = 1321340; d[3391] = 1331974; d[3392] = 1342460; d[3393] = 1350055; d[3394] = 1356365; d[3395] = 1358558; d[3396] = 1358892; d[3397] = 1354920; d[3398] = 1349255; d[3399] = 1340237; d[3400] = 1330380; d[3401] = 1318825; d[3402] = 1307699; d[3403] = 1296669; d[3404] = 1287372; d[3405] = 1279589; d[3406] = 1274552; d[3407] = 1271809;
    d[3408] = 1272294; d[3409] = 1275168; d[3410] = 1281098; d[3411] = 1288879; d[3412] = 1298851; d[3413] = 1309641; d[3414] = 1321147; d[3415] = 1332184; d[3416] = 1342105; d[3417] = 1350417; d[3418] = 1355857; d[3419] = 1359086; d[3420] = 1358343; d[3421] = 1355549; d[3422] = 1348758; d[3423] = 1340842; d[3424] = 1329964; d[3425] = 1319342; d[3426] = 1307338; d[3427] = 1297086; d[3428] = 1286984; d[3429] = 1279911; d[3430] = 1274090; d[3431] = 1272077;
    d[3432] = 1271775; d[3433] = 1275430; d[3434] = 1280575; d[3435] = 1289165; d[3436] = 1298402; d[3437] = 1309948; d[3438] = 1320851; d[3439] = 1332458; d[3440] = 1342024; d[3441] = 1350540; d[3442] = 1356014; d[3443] = 1358967; d[3444] = 1358737; d[3445] = 1355238; d[3446] = 1349342; d[3447] = 1340423; d[3448] = 1330607; d[3449] = 1318846; d[3450] = 1307947; d[3451] = 1296539; d[3452] = 1287555; d[3453] = 1279337; d[3454] = 1274633; d[3455] = 1271476;
    d[3456] = 1272295; d[3457] = 1274812; d[3458] = 1281091; d[3459] = 1288547; d[3460] = 1298938; d[3461] = 1309352; d[3462] = 1321418; d[3463] = 1331925; d[3464] = 1342584; d[3465] = 1350127; d[3466] = 1356428; d[3467] = 1358687; d[3468] = 1358845; d[3469] = 1355116; d[3470] = 1349164; d[3471] = 1340511; d[3472] = 1330280; d[3473] = 1319127; d[3474] = 1307579; d[3475] = 1296942; d[3476] = 1287198; d[3477] = 1279795; d[3478] = 1274303; d[3479] = 1271936;
    d[3480] = 1271981; d[3481] = 1275245; d[3482] = 1280765; d[3483] = 1288960; d[3484] = 1298556; d[3485] = 1309779; d[3486] = 1320935; d[3487] = 1332398; d[3488] = 1341989; d[3489] = 1350661; d[3490] = 1355813; d[3491] = 1359250; d[3492] = 1358324; d[3493] = 1355571; d[3494] = 1348771; d[3495] = 1340777; d[3496] = 1330049; d[3497] = 1319263; d[3498] = 1307512; d[3499] = 1297039; d[3500] = 1287240; d[3501] = 1279904; d[3502] = 1274372; d[3503] = 1272053;
    d[3504] = 1271993; d[3505] = 1275313; d[3506] = 1280672; d[3507] = 1288930; d[3508] = 1298406; d[3509] = 1309625; d[3510] = 1320838; d[3511] = 1332105; d[3512] = 1342069; d[3513] = 1350224; d[3514] = 1356144; d[3515] = 1358738; d[3516] = 1358904; d[3517] = 1355079; d[3518] = 1349471; d[3519] = 1340328; d[3520] = 1330704; d[3521] = 1318843; d[3522] = 1308067; d[3523] = 1296637; d[3524] = 1287726; d[3525] = 1279501; d[3526] = 1274832; d[3527] = 1271633;
    d[3528] = 1272455; d[3529] = 1274884; d[3530] = 1281143; d[3531] = 1288493; d[3532] = 1298843; d[3533] = 1309201; d[3534] = 1321191; d[3535] = 1331759; d[3536] = 1342284; d[3537] = 1350057; d[3538] = 1356157; d[3539] = 1358819; d[3540] = 1358700; d[3541] = 1355424; d[3542] = 1349100; d[3543] = 1340838; d[3544] = 1330195; d[3545] = 1319376; d[3546] = 1307453; d[3547] = 1297126; d[3548] = 1287056; d[3549] = 1279965; d[3550] = 1274172; d[3551] = 1272129;
    d[3552] = 1271863; d[3553] = 1275451; d[3554] = 1280633; d[3555] = 1289138; d[3556] = 1298382; d[3557] = 1309887; d[3558] = 1320729; d[3559] = 1332423; d[3560] = 1341814; d[3561] = 1350614; d[3562] = 1355738; d[3563] = 1359172; d[3564] = 1358409; d[3565] = 1355515; d[3566] = 1349018; d[3567] = 1340736; d[3568] = 1330353; d[3569] = 1319166; d[3570] = 1307759; d[3571] = 1296847; d[3572] = 1287399; d[3573] = 1279639; d[3574] = 1274487; d[3575] = 1271787;
    d[3576] = 1272150; d[3577] = 1275129; d[3578] = 1280936; d[3579] = 1288838; d[3580] = 1298742; d[3581] = 1309545; d[3582] = 1321146; d[3583] = 1331949; d[3584] = 1342271; d[3585] = 1349995; d[3586] = 1356214; d[3587] = 1358491; d[3588] = 1358849; d[3589] = 1354897; d[3590] = 1349366; d[3591] = 1340291; d[3592] = 1330626; d[3593] = 1318943; d[3594] = 1308011; d[3595] = 1296792; d[3596] = 1287653; d[3597] = 1279641; d[3598] = 1274731; d[3599] = 1271743;
    d[3600] = 1272355; d[3601] = 1274999; d[3602] = 1281078; d[3603] = 1288658; d[3604] = 1298813; d[3605] = 1309418; d[3606] = 1321138; d[3607] = 1331987; d[3608] = 1342131; d[3609] = 1350240; d[3610] = 1355891; d[3611] = 1358932; d[3612] = 1358371; d[3613] = 1355466; d[3614] = 1348811; d[3615] = 1340879; d[3616] = 1330072; d[3617] = 1319498; d[3618] = 1307500; d[3619] = 1297311; d[3620] = 1287158; d[3621] = 1280128; d[3622] = 1274215; d[3623] = 1272209;
    d[3624] = 1271796; d[3625] = 1275440; d[3626] = 1280481; d[3627] = 1289076; d[3628] = 1298228; d[3629] = 1309829; d[3630] = 1320659; d[3631] = 1332387; d[3632] = 1341859; d[3633] = 1350557; d[3634] = 1355877; d[3635] = 1359048; d[3636] = 1358611; d[3637] = 1355332; d[3638] = 1349239; d[3639] = 1340530; d[3640] = 1330564; d[3641] = 1318984; d[3642] = 1307979; d[3643] = 1296722; d[3644] = 1287643; d[3645] = 1279547; d[3646] = 1274729; d[3647] = 1271665;
    d[3648] = 1272340; d[3649] = 1274925; d[3650] = 1281040; d[3651] = 1288556; d[3652] = 1298793; d[3653] = 1309273; d[3654] = 1321237; d[3655] = 1331811; d[3656] = 1342452; d[3657] = 1350028; d[3658] = 1356406; d[3659] = 1358626; d[3660] = 1358932; d[3661] = 1355064; d[3662] = 1349294; d[3663] = 1340440; d[3664] = 1330412; d[3665] = 1319048; d[3666] = 1307721; d[3667] = 1296882; d[3668] = 1287367; d[3669] = 1279770; d[3670] = 1274503; d[3671] = 1271935;
    d[3672] = 1272187; d[3673] = 1275228; d[3674] = 1280932; d[3675] = 1288883; d[3676] = 1298646; d[3677] = 1309626; d[3678] = 1320947; d[3679] = 1332198; d[3680] = 1341959; d[3681] = 1350485; d[3682] = 1355790; d[3683] = 1359180; d[3684] = 1358344; d[3685] = 1355628; d[3686] = 1348815; d[3687] = 1340902; d[3688] = 1330062; d[3689] = 1319385; d[3690] = 1307471; d[3691] = 1297133; d[3692] = 1287159; d[3693] = 1279985; d[3694] = 1274285; d[3695] = 1272140;
    d[3696] = 1271923; d[3697] = 1275415; d[3698] = 1280618; d[3699] = 1289038; d[3700] = 1298337; d[3701] = 1309716; d[3702] = 1320721; d[3703] = 1332166; d[3704] = 1341908; d[3705] = 1350270; d[3706] = 1355982; d[3707] = 1358796; d[3708] = 1358811; d[3709] = 1355180; d[3710] = 1349489; d[3711] = 1340467; d[3712] = 1330796; d[3713] = 1318962; d[3714] = 1308158; d[3715] = 1296687; d[3716] = 1287755; d[3717] = 1279472; d[3718] = 1274793; d[3719] = 1271557;
    d[3720] = 1272387; d[3721] = 1274807; d[3722] = 1281091; d[3723] = 1288447; d[3724] = 1298832; d[3725] = 1309175; d[3726] = 1321220; d[3727] = 1331718; d[3728] = 1342342; d[3729] = 1349981; d[3730] = 1356240; d[3731] = 1358719; d[3732] = 1358810; d[3733] = 1355339; d[3734] = 1349252; d[3735] = 1340819; d[3736] = 1330393; d[3737] = 1319416; d[3738] = 1307657; d[3739] = 1297166; d[3740] = 1287205; d[3741] = 1279938; d[3742] = 1274229; d[3743] = 1272003;
    d[3744] = 1271836; d[3745] = 1275253; d[3746] = 1280568; d[3747] = 1288931; d[3748] = 1298336; d[3749] = 1309735; d[3750] = 1320727; d[3751] = 1332352; d[3752] = 1341839; d[3753] = 1350623; d[3754] = 1355755; d[3755] = 1359245; d[3756] = 1358395; d[3757] = 1355629; d[3758] = 1348980; d[3759] = 1340894; d[3760] = 1330333; d[3761] = 1319375; d[3762] = 1307776; d[3763] = 1297078; d[3764] = 1287415; d[3765] = 1279840; d[3766] = 1274444; d[3767] = 1271904;
    d[3768] = 1272008; d[3769] = 1275139; d[3770] = 1280695; d[3771] = 1288775; d[3772] = 1298457; d[3773] = 1309479; d[3774] = 1320896; d[3775] = 1331946; d[3776] = 1342117; d[3777] = 1350063; d[3778] = 1356168; d[3779] = 1358600; d[3780] = 1358897; d[3781] = 1354993; d[3782] = 1349466; d[3783] = 1340343; d[3784] = 1330753; d[3785] = 1318971; d[3786] = 1308172; d[3787] = 1296827; d[3788] = 1287834; d[3789] = 1279677; d[3790] = 1274894; d[3791] = 1271740;
    d[3792] = 1272449; d[3793] = 1274908; d[3794] = 1281068; d[3795] = 1288455; d[3796] = 1298709; d[3797] = 1309137; d[3798] = 1321014; d[3799] = 1331707; d[3800] = 1342084; d[3801] = 1350040; d[3802] = 1355961; d[3803] = 1358847; d[3804] = 1358537; d[3805] = 1355486; d[3806] = 1349010; d[3807] = 1340956; d[3808] = 1330225; d[3809] = 1319568; d[3810] = 1307591; d[3811] = 1297363; d[3812] = 1287220; d[3813] = 1280178; d[3814] = 1274273; d[3815] = 1272252;
    d[3816] = 1271842; d[3817] = 1275444; d[3818] = 1280477; d[3819] = 1289010; d[3820] = 1298134; d[3821] = 1309688; d[3822] = 1320471; d[3823] = 1332221; d[3824] = 1341637; d[3825] = 1350461; d[3826] = 1355702; d[3827] = 1359091; d[3828] = 1358525; d[3829] = 1355509; d[3830] = 1349248; d[3831] = 1340783; d[3832] = 1330619; d[3833] = 1319224; d[3834] = 1308011; d[3835] = 1296892; d[3836] = 1287618; d[3837] = 1279658; d[3838] = 1274663; d[3839] = 1271752;
    d[3840] = 1272257; d[3841] = 1275002; d[3842] = 1280945; d[3843] = 1288610; d[3844] = 1298667; d[3845] = 1309272; d[3846] = 1321058; d[3847] = 1331727; d[3848] = 1342241; d[3849] = 1349884; d[3850] = 1356245; d[3851] = 1358497; d[3852] = 1358910; d[3853] = 1355003; d[3854] = 1349425; d[3855] = 1340463; d[3856] = 1330655; d[3857] = 1319119; d[3858] = 1307994; d[3859] = 1296927; d[3860] = 1287586; d[3861] = 1279736; d[3862] = 1274633; d[3863] = 1271819;
    d[3864] = 1272252; d[3865] = 1275065; d[3866] = 1280968; d[3867] = 1288708; d[3868] = 1298678; d[3869] = 1309446; d[3870] = 1320969; d[3871] = 1331997; d[3872] = 1341948; d[3873] = 1350261; d[3874] = 1355737; d[3875] = 1358990; d[3876] = 1358296; d[3877] = 1355549; d[3878] = 1348818; d[3879] = 1340965; d[3880] = 1330131; d[3881] = 1319563; d[3882] = 1307587; d[3883] = 1297358; d[3884] = 1287260; d[3885] = 1280171; d[3886] = 1274309; d[3887] = 1272231;
    d[3888] = 1271848; d[3889] = 1275411; d[3890] = 1280474; d[3891] = 1288988; d[3892] = 1298166; d[3893] = 1309676; d[3894] = 1320553; d[3895] = 1332167; d[3896] = 1341742; d[3897] = 1350298; d[3898] = 1355799; d[3899] = 1358821; d[3900] = 1358626; d[3901] = 1355204; d[3902] = 1349363; d[3903] = 1340526; d[3904] = 1330771; d[3905] = 1319078; d[3906] = 1308229; d[3907] = 1296849; d[3908] = 1287876; d[3909] = 1279640; d[3910] = 1274893; d[3911] = 1271672;
    d[3912] = 1272406; d[3913] = 1274831; d[3914] = 1281011; d[3915] = 1288382; d[3916] = 1298691; d[3917] = 1309061; d[3918] = 1321085; d[3919] = 1331599; d[3920] = 1342280; d[3921] = 1349876; d[3922] = 1356261; d[3923] = 1358612; d[3924] = 1358873; d[3925] = 1355205; d[3926] = 1349324; d[3927] = 1340683; d[3928] = 1330482; d[3929] = 1319320; d[3930] = 1307785; d[3931] = 1297126; d[3932] = 1287377; d[3933] = 1279942; d[3934] = 1274422; d[3935] = 1272009;
    d[3936] = 1272007; d[3937] = 1275207; d[3938] = 1280671; d[3939] = 1288802; d[3940] = 1298357; d[3941] = 1309542; d[3942] = 1320691; d[3943] = 1332159; d[3944] = 1341794; d[3945] = 1350502; d[3946] = 1355733; d[3947] = 1359237; d[3948] = 1358386; d[3949] = 1355696; d[3950] = 1348942; d[3951] = 1340980; d[3952] = 1330244; d[3953] = 1319453; d[3954] = 1307659; d[3955] = 1297161; d[3956] = 1287308; d[3957] = 1279950; d[3958] = 1274371; d[3959] = 1272044;
    d[3960] = 1271961; d[3961] = 1275286; d[3962] = 1280638; d[3963] = 1288891; d[3964] = 1298346; d[3965] = 1309542; d[3966] = 1320719; d[3967] = 1331970; d[3968] = 1341919; d[3969] = 1350087; d[3970] = 1356020; d[3971] = 1358660; d[3972] = 1358855; d[3973] = 1355092; d[3974] = 1349525; d[3975] = 1340435; d[3976] = 1330840; d[3977] = 1318998; d[3978] = 1308226; d[3979] = 1296774; d[3980] = 1287840; d[3981] = 1279577; d[3982] = 1274875; d[3983] = 1271640;
    d[3984] = 1272439; d[3985] = 1274834; d[3986] = 1281083; d[3987] = 1288403; d[3988] = 1298744; d[3989] = 1309074; d[3990] = 1321053; d[3991] = 1331603; d[3992] = 1342128; d[3993] = 1349904; d[3994] = 1356033; d[3995] = 1358728; d[3996] = 1358665; d[3997] = 1355438; d[3998] = 1349194; d[3999] = 1340989; d[4000] = 1330423; d[4001] = 1319629; d[4002] = 1307733; d[4003] = 1297370; d[4004] = 1287262; d[4005] = 1280092; d[4006] = 1274224; d[4007] = 1272091;
    d[4008] = 1271751; d[4009] = 1275265; d[4010] = 1280402; d[4011] = 1288870; d[4012] = 1298107; d[4013] = 1309618; d[4014] = 1320481; d[4015] = 1332214; d[4016] = 1341645; d[4017] = 1350503; d[4018] = 1355682; d[4019] = 1359188; d[4020] = 1358489; d[4021] = 1355667; d[4022] = 1349230; d[4023] = 1341003; d[4024] = 1330642; d[4025] = 1319477; d[4026] = 1308051; d[4027] = 1297118; d[4028] = 1287611; d[4029] = 1279800; d[4030] = 1274550; d[4031] = 1271779;
    d[4032] = 1272033; d[4033] = 1274942; d[4034] = 1280664; d[4035] = 1288530; d[4036] = 1298406; d[4037] = 1309242; d[4038] = 1320881; d[4039] = 1331771; d[4040] = 1342166; d[4041] = 1349972; d[4042] = 1356254; d[4043] = 1358585; d[4044] = 1358989; d[4045] = 1355067; d[4046] = 1349569; d[4047] = 1340513; d[4048] = 1330857; d[4049] = 1319177; d[4050] = 1308234; d[4051] = 1296986; d[4052] = 1287816; d[4053] = 1279750; d[4054] = 1274791; d[4055] = 1271737;
    d[4056] = 1272290; d[4057] = 1274861; d[4058] = 1280892; d[4059] = 1288412; d[4060] = 1298551; d[4061] = 1309135; d[4062] = 1320885; d[4063] = 1331758; d[4064] = 1341979; d[4065] = 1350139; d[4066] = 1355878; d[4067] = 1358980; d[4068] = 1358484; d[4069] = 1355618; d[4070] = 1348997; d[4071] = 1341081; d[4072] = 1330276; d[4073] = 1319706; d[4074] = 1307710; d[4075] = 1297518; d[4076] = 1287370; d[4077] = 1280322; d[4078] = 1274384; d[4079] = 1272327;
    d[4080] = 1271849; d[4081] = 1275408; d[4082] = 1280366; d[4083] = 1288871; d[4084] = 1297950; d[4085] = 1309492; d[4086] = 1320283; d[4087] = 1332017; d[4088] = 1341510; d[4089] = 1350283; d[4090] = 1355676; d[4091] = 1358968; d[4092] = 1358618; d[4093] = 1355454; d[4094] = 1349434; d[4095] = 1340798; d[4096] = 1330863; d[4097] = 1319310; d[4098] = 1308302; d[4099] = 1297030; d[4100] = 1287923; d[4101] = 1279789; d[4102] = 1274915; d[4103] = 1271795;
    d[4104] = 1272390; d[4105] = 1274905; d[4106] = 1280931; d[4107] = 1288375; d[4108] = 1298525; d[4109] = 1308955; d[4110] = 1320857; d[4111] = 1331420; d[4112] = 1342066; d[4113] = 1349698; d[4114] = 1356173; d[4115] = 1358517; d[4116] = 1358968; d[4117] = 1355214; d[4118] = 1349564; d[4119] = 1340764; d[4120] = 1330788; d[4121] = 1319413; d[4122] = 1308072; d[4123] = 1297172; d[4124] = 1287600; d[4125] = 1279925; d[4126] = 1274585; d[4127] = 1271945;
    d[4128] = 1272133; d[4129] = 1275110; d[4130] = 1280768; d[4131] = 1288669; d[4132] = 1298408; d[4133] = 1309357; d[4134] = 1320679; d[4135] = 1331922; d[4136] = 1341717; d[4137] = 1350257; d[4138] = 1355631; d[4139] = 1359083; d[4140] = 1358338; d[4141] = 1355712; d[4142] = 1348989; d[4143] = 1341158; d[4144] = 1330363; d[4145] = 1319726; d[4146] = 1307795; d[4147] = 1297439; d[4148] = 1287396; d[4149] = 1280161; d[4150] = 1274374; d[4151] = 1272169;
    d[4152] = 1271888; d[4153] = 1275346; d[4154] = 1280521; d[4155] = 1288917; d[4156] = 1298198; d[4157] = 1309556; d[4158] = 1320537; d[4159] = 1331974; d[4160] = 1341701; d[4161] = 1350071; d[4162] = 1355781; d[4163] = 1358631; d[4164] = 1358662; d[4165] = 1355100; d[4166] = 1349461; d[4167] = 1340524; d[4168] = 1330919; d[4169] = 1319160; d[4170] = 1308405; d[4171] = 1296964; d[4172] = 1288041; d[4173] = 1279737; d[4174] = 1275018; d[4175] = 1271722;
    d[4176] = 1272485; d[4177] = 1274827; d[4178] = 1281047; d[4179] = 1288334; d[4180] = 1298675; d[4181] = 1308976; d[4182] = 1320995; d[4183] = 1331486; d[4184] = 1342110; d[4185] = 1349761; d[4186] = 1356047; d[4187] = 1358552; d[4188] = 1358685; d[4189] = 1355250; d[4190] = 1349240; d[4191] = 1340862; d[4192] = 1330531; d[4193] = 1319607; d[4194] = 1307915; d[4195] = 1297434; d[4196] = 1287491; d[4197] = 1280191; d[4198] = 1274450; d[4199] = 1272157;
    d[4200] = 1271919; d[4201] = 1275245; d[4202] = 1280484; d[4203] = 1288762; d[4204] = 1298112; d[4205] = 1309467; d[4206] = 1320443; d[4207] = 1332078; d[4208] = 1341594; d[4209] = 1350426; d[4210] = 1355625; d[4211] = 1359182; d[4212] = 1358400; d[4213] = 1355694; d[4214] = 1349091; d[4215] = 1341043; d[4216] = 1330493; d[4217] = 1319557; d[4218] = 1307950; d[4219] = 1297260; d[4220] = 1287574; d[4221] = 1279997; d[4222] = 1274557; d[4223] = 1271999;
    d[4224] = 1272037; d[4225] = 1275132; d[4226] = 1280613; d[4227] = 1288649; d[4228] = 1298277; d[4229] = 1309289; d[4230] = 1320698; d[4231] = 1331784; d[4232] = 1341987; d[4233] = 1349984; d[4234] = 1356134; d[4235] = 1358617; d[4236] = 1358956; d[4237] = 1355093; d[4238] = 1349589; d[4239] = 1340479; d[4240] = 1330874; d[4241] = 1319078; d[4242] = 1308247; d[4243] = 1296869; d[4244] = 1287854; d[4245] = 1279667; d[4246] = 1274873; d[4247] = 1271706;
    d[4248] = 1272414; d[4249] = 1274864; d[4250] = 1281026; d[4251] = 1288397; d[4252] = 1298655; d[4253] = 1309059; d[4254] = 1320941; d[4255] = 1331619; d[4256] = 1342017; d[4257] = 1349973; d[4258] = 1355934; d[4259] = 1358844; d[4260] = 1358579; d[4261] = 1355559; d[4262] = 1349118; d[4263] = 1341082; d[4264] = 1330361; d[4265] = 1319697; d[4266] = 1307712; d[4267] = 1297457; d[4268] = 1287304; d[4269] = 1280227; d[4270] = 1274301; d[4271] = 1272238;
    d[4272] = 1271797; d[4273] = 1275358; d[4274] = 1280365; d[4275] = 1288868; d[4276] = 1297977; d[4277] = 1309514; d[4278] = 1320289; d[4279] = 1332043; d[4280] = 1341466; d[4281] = 1350322; d[4282] = 1355592; d[4283] = 1359050; d[4284] = 1358529; d[4285] = 1355593; d[4286] = 1349385; d[4287] = 1340984; d[4288] = 1330853; d[4289] = 1319489; d[4290] = 1308271; d[4291] = 1297132; d[4292] = 1287810; d[4293] = 1279792; d[4294] = 1274713; d[4295] = 1271731;
    d[4296] = 1272146; d[4297] = 1274837; d[4298] = 1280712; d[4299] = 1288355; d[4300] = 1298382; d[4301] = 1309003; d[4302] = 1320790; d[4303] = 1331505; d[4304] = 1342053; d[4305] = 1349764; d[4306] = 1356203; d[4307] = 1358544; d[4308] = 1359049; d[4309] = 1355209; d[4310] = 1349700; d[4311] = 1340757; d[4312] = 1330972; d[4313] = 1319416; d[4314] = 1308272; d[4315] = 1297149; d[4316] = 1287753; d[4317] = 1279822; d[4318] = 1274639; d[4319] = 1271735;
    d[4320] = 1272083; d[4321] = 1274819; d[4322] = 1280667; d[4323] = 1288365; d[4324] = 1298339; d[4325] = 1309115; d[4326] = 1320698; d[4327] = 1331779; d[4328] = 1341826; d[4329] = 1350201; d[4330] = 1355779; d[4331] = 1359092; d[4332] = 1358473; d[4333] = 1355776; d[4334] = 1349092; d[4335] = 1341267; d[4336] = 1330440; d[4337] = 1319874; d[4338] = 1307862; d[4339] = 1297597; d[4340] = 1287433; d[4341] = 1280280; d[4342] = 1274337; d[4343] = 1272193;
    d[4344] = 1271742; d[4345] = 1275252; d[4346] = 1280269; d[4347] = 1288739; d[4348] = 1297891; d[4349] = 1309380; d[4350] = 1320258; d[4351] = 1331905; d[4352] = 1341521; d[4353] = 1350152; d[4354] = 1355713; d[4355] = 1358827; d[4356] = 1358679; d[4357] = 1355333; d[4358] = 1349522; d[4359] = 1340733; d[4360] = 1330992; d[4361] = 1319324; d[4362] = 1308479; d[4363] = 1297094; d[4364] = 1288106; d[4365] = 1279835; d[4366] = 1275044; d[4367] = 1271765;
    d[4368] = 1272432; d[4369] = 1274784; d[4370] = 1280890; d[4371] = 1288187; d[4372] = 1298430; d[4373] = 1308749; d[4374] = 1320736; d[4375] = 1331253; d[4376] = 1341950; d[4377] = 1349604; d[4378] = 1356067; d[4379] = 1358508; d[4380] = 1358876; d[4381] = 1355297; d[4382] = 1349528; d[4383] = 1340948; d[4384] = 1330823; d[4385] = 1319673; d[4386] = 1308154; d[4387] = 1297451; d[4388] = 1287672; d[4389] = 1280166; d[4390] = 1274586; d[4391] = 1272090;
    d[4392] = 1272010; d[4393] = 1275123; d[4394] = 1280511; d[4395] = 1288561; d[4396] = 1298057; d[4397] = 1309186; d[4398] = 1320310; d[4399] = 1331769; d[4400] = 1341433; d[4401] = 1350189; d[4402] = 1355515; d[4403] = 1359116; d[4404] = 1358396; d[4405] = 1355825; d[4406] = 1349184; d[4407] = 1341316; d[4408] = 1330628; d[4409] = 1319870; d[4410] = 1308053; d[4411] = 1297521; d[4412] = 1287595; d[4413] = 1280171; d[4414] = 1274494; d[4415] = 1272098;
    d[4416] = 1271916; d[4417] = 1275181; d[4418] = 1280449; d[4419] = 1288658; d[4420] = 1298066; d[4421] = 1309258; d[4422] = 1320433; d[4423] = 1331716; d[4424] = 1341688; d[4425] = 1349899; d[4426] = 1355871; d[4427] = 1358574; d[4428] = 1358826; d[4429] = 1355147; d[4430] = 1349646; d[4431] = 1340634; d[4432] = 1331086; d[4433] = 1319287; d[4434] = 1308522; d[4435] = 1297056; d[4436] = 1288089; d[4437] = 1279769; d[4438] = 1275006; d[4439] = 1271702;
    d[4440] = 1272439; d[4441] = 1274775; d[4442] = 1280981; d[4443] = 1288257; d[4444] = 1298583; d[4445] = 1308886; d[4446] = 1320870; d[4447] = 1331414; d[4448] = 1341955; d[4449] = 1349737; d[4450] = 1355895; d[4451] = 1358610; d[4452] = 1358587; d[4453] = 1355400; d[4454] = 1349219; d[4455] = 1341063; d[4456] = 1330562; d[4457] = 1319817; d[4458] = 1307983; d[4459] = 1297646; d[4460] = 1287577; d[4461] = 1280391; d[4462] = 1274500; d[4463] = 1272295;
    d[4464] = 1271877; d[4465] = 1275289; d[4466] = 1280337; d[4467] = 1288711; d[4468] = 1297886; d[4469] = 1309338; d[4470] = 1320176; d[4471] = 1331902; d[4472] = 1341344; d[4473] = 1350240; d[4474] = 1355457; d[4475] = 1359028; d[4476] = 1358376; d[4477] = 1355626; d[4478] = 1349248; d[4479] = 1341092; d[4480] = 1330788; d[4481] = 1319690; d[4482] = 1308306; d[4483] = 1297412; d[4484] = 1287912; d[4485] = 1280099; d[4486] = 1274807; d[4487] = 1271995;
    d[4488] = 1272160; d[4489] = 1274996; d[4490] = 1280609; d[4491] = 1288399; d[4492] = 1298182; d[4493] = 1308970; d[4494] = 1320558; d[4495] = 1331454; d[4496] = 1341859; d[4497] = 1349728; d[4498] = 1356090; d[4499] = 1358519; d[4500] = 1359017; d[4501] = 1355163; d[4502] = 1349723; d[4503] = 1340680; d[4504] = 1331038; d[4505] = 1319352; d[4506] = 1308403; d[4507] = 1297138; d[4508] = 1287958; d[4509] = 1279870; d[4510] = 1274890; d[4511] = 1271805;
    d[4512] = 1272324; d[4513] = 1274848; d[4514] = 1280835; d[4515] = 1288299; d[4516] = 1298404; d[4517] = 1308942; d[4518] = 1320687; d[4519] = 1331549; d[4520] = 1341808; d[4521] = 1349989; d[4522] = 1355803; d[4523] = 1358954; d[4524] = 1358535; d[4525] = 1355724; d[4526] = 1349156; d[4527] = 1341266; d[4528] = 1330461; d[4529] = 1319881; d[4530] = 1307845; d[4531] = 1297616; d[4532] = 1287423; d[4533] = 1280338; d[4534] = 1274372; d[4535] = 1272299;
    d[4536] = 1271821; d[4537] = 1275384; d[4538] = 1280353; d[4539] = 1288848; d[4540] = 1297920; d[4541] = 1309426; d[4542] = 1320188; d[4543] = 1331897; d[4544] = 1341370; d[4545] = 1350150; d[4546] = 1355550; d[4547] = 1358886; d[4548] = 1358556; d[4549] = 1355458; d[4550] = 1349469; d[4551] = 1340891; d[4552] = 1330980; d[4553] = 1319458; d[4554] = 1308446; d[4555] = 1297163; d[4556] = 1288030; d[4557] = 1279859; d[4558] = 1274950; d[4559] = 1271795;
    d[4560] = 1272359; d[4561] = 1274856; d[4562] = 1280859; d[4563] = 1288295; d[4564] = 1298429; d[4565] = 1308854; d[4566] = 1320731; d[4567] = 1331299; d[4568] = 1341925; d[4569] = 1349569; d[4570] = 1356061; d[4571] = 1358437; d[4572] = 1358937; d[4573] = 1355235; d[4574] = 1349666; d[4575] = 1340917; d[4576] = 1331015; d[4577] = 1319659; d[4578] = 1308339; d[4579] = 1297398; d[4580] = 1287792; d[4581] = 1280037; d[4582] = 1274628; d[4583] = 1271899;
    d[4584] = 1272012; d[4585] = 1274920; d[4586] = 1280531; d[4587] = 1288400; d[4588] = 1298138; d[4589] = 1309091; d[4590] = 1320449; d[4591] = 1331727; d[4592] = 1341580; d[4593] = 1350164; d[4594] = 1355613; d[4595] = 1359111; d[4596] = 1358443; d[4597] = 1355872; d[4598] = 1349213; d[4599] = 1341425; d[4600] = 1330651; d[4601] = 1320028; d[4602] = 1308070; d[4603] = 1297687; d[4604] = 1287581; d[4605] = 1280287; d[4606] = 1274408; d[4607] = 1272129;
    d[4608] = 1271746; d[4609] = 1275136; d[4610] = 1280232; d[4611] = 1288597; d[4612] = 1297863; d[4613] = 1309253; d[4614] = 1320291; d[4615] = 1331812; d[4616] = 1341617; d[4617] = 1350071; d[4618] = 1355840; d[4619] = 1358751; d[4620] = 1358811; d[4621] = 1355294; d[4622] = 1349661; d[4623] = 1340751; d[4624] = 1331141; d[4625] = 1319386; d[4626] = 1308609; d[4627] = 1297144; d[4628] = 1288182; d[4629] = 1279829; d[4630] = 1275057; d[4631] = 1271702;
    d[4632] = 1272404; d[4633] = 1274689; d[4634] = 1280855; d[4635] = 1288094; d[4636] = 1298413; d[4637] = 1308697; d[4638] = 1320741; d[4639] = 1331264; d[4640] = 1341949; d[4641] = 1349668; d[4642] = 1356033; d[4643] = 1358608; d[4644] = 1358809; d[4645] = 1355416; d[4646] = 1349447; d[4647] = 1341073; d[4648] = 1330758; d[4649] = 1319820; d[4650] = 1308142; d[4651] = 1297645; d[4652] = 1287712; d[4653] = 1280379; d[4654] = 1274612; d[4655] = 1272249;
    d[4656] = 1271945; d[4657] = 1275179; d[4658] = 1280338; d[4659] = 1288525; d[4660] = 1297813; d[4661] = 1309102; d[4662] = 1320055; d[4663] = 1331688; d[4664] = 1341237; d[4665] = 1350137; d[4666] = 1355426; d[4667] = 1359097; d[4668] = 1358425; d[4669] = 1355832; d[4670] = 1349321; d[4671] = 1341345; d[4672] = 1330833; d[4673] = 1319922; d[4674] = 1308296; d[4675] = 1297588; d[4676] = 1287854; d[4677] = 1280229; d[4678] = 1274717; d[4679] = 1272099;
    d[4680] = 1272046; d[4681] = 1275076; d[4682] = 1280461; d[4683] = 1288436; d[4684] = 1297981; d[4685] = 1308952; d[4686] = 1320306; d[4687] = 1331395; d[4688] = 1341600; d[4689] = 1349670; d[4690] = 1355911; d[4691] = 1358525; d[4692] = 1358998; d[4693] = 1355260; d[4694] = 1349865; d[4695] = 1340824; d[4696] = 1331263; d[4697] = 1319478; d[4698] = 1308620; d[4699] = 1297191; d[4700] = 1288104; d[4701] = 1279833; d[4702] = 1274956; d[4703] = 1271704;
    d[4704] = 1272337; d[4705] = 1274719; d[4706] = 1280828; d[4707] = 1288151; d[4708] = 1298386; d[4709] = 1308768; d[4710] = 1320658; d[4711] = 1331337; d[4712] = 1341774; d[4713] = 1349752; d[4714] = 1355784; d[4715] = 1358747; d[4716] = 1358574; d[4717] = 1355634; d[4718] = 1349290; d[4719] = 1341326; d[4720] = 1330665; d[4721] = 1320037; d[4722] = 1308056; d[4723] = 1297776; d[4724] = 1287575; d[4725] = 1280421; d[4726] = 1274424; d[4727] = 1272279;
    d[4728] = 1271781; d[4729] = 1275285; d[4730] = 1280260; d[4731] = 1288720; d[4732] = 1297807; d[4733] = 1309308; d[4734] = 1320068; d[4735] = 1331810; d[4736] = 1341230; d[4737] = 1350101; d[4738] = 1355381; d[4739] = 1358879; d[4740] = 1358378; d[4741] = 1355513; d[4742] = 1349355; d[4743] = 1341043; d[4744] = 1330980; d[4745] = 1319702; d[4746] = 1308535; d[4747] = 1297443; d[4748] = 1288132; d[4749] = 1280102; d[4750] = 1274980; d[4751] = 1271940;
    d[4752] = 1272271; d[4753] = 1274883; d[4754] = 1280664; d[4755] = 1288237; d[4756] = 1298187; d[4757] = 1308769; d[4758] = 1320510; d[4759] = 1331226; d[4760] = 1341764; d[4761] = 1349507; d[4762] = 1355975; d[4763] = 1358362; d[4764] = 1358917; d[4765] = 1355135; d[4766] = 1349705; d[4767] = 1340824; d[4768] = 1331130; d[4769] = 1319624; d[4770] = 1308538; d[4771] = 1297427; d[4772] = 1288046; d[4773] = 1280087; d[4774] = 1274875; d[4775] = 1271907;
}
void dataAllocSixtyJiaZi(dataHans** pData)
{
    AllocHans(60, pData);
    dataHan* d = (*pData)->pHan;

    strcpy(d[0].szData, "甲子"); strcpy(d[1].szData, "乙丑"); strcpy(d[2].szData, "丙寅"); strcpy(d[3].szData, "丁卯");
    strcpy(d[4].szData, "戊辰"); strcpy(d[5].szData, "己巳"); strcpy(d[6].szData, "庚午"); strcpy(d[7].szData, "辛未");
    strcpy(d[8].szData, "壬申"); strcpy(d[9].szData, "癸酉"); strcpy(d[10].szData, "甲戌"); strcpy(d[11].szData, "乙亥");
    strcpy(d[12].szData, "丙子"); strcpy(d[13].szData, "丁丑"); strcpy(d[14].szData, "戊寅"); strcpy(d[15].szData, "己卯");
    strcpy(d[16].szData, "庚辰"); strcpy(d[17].szData, "辛巳"); strcpy(d[18].szData, "壬午"); strcpy(d[19].szData, "癸未");
    strcpy(d[20].szData, "甲申"); strcpy(d[21].szData, "乙酉"); strcpy(d[22].szData, "丙戌"); strcpy(d[23].szData, "丁亥");
    strcpy(d[24].szData, "戊子"); strcpy(d[25].szData, "己丑"); strcpy(d[26].szData, "庚寅"); strcpy(d[27].szData, "辛卯");
    strcpy(d[28].szData, "壬辰"); strcpy(d[29].szData, "癸巳"); strcpy(d[30].szData, "甲午"); strcpy(d[31].szData, "乙未");
    strcpy(d[32].szData, "丙申"); strcpy(d[33].szData, "丁酉"); strcpy(d[34].szData, "戊戌"); strcpy(d[35].szData, "己亥");
    strcpy(d[36].szData, "庚子"); strcpy(d[37].szData, "辛丑"); strcpy(d[38].szData, "壬寅"); strcpy(d[39].szData, "癸卯");
    strcpy(d[40].szData, "甲辰"); strcpy(d[41].szData, "乙巳"); strcpy(d[42].szData, "丙午"); strcpy(d[43].szData, "丁未");
    strcpy(d[44].szData, "戊申"); strcpy(d[45].szData, "己酉"); strcpy(d[46].szData, "庚戌"); strcpy(d[47].szData, "辛亥");
    strcpy(d[48].szData, "壬子"); strcpy(d[49].szData, "癸丑"); strcpy(d[50].szData, "甲寅"); strcpy(d[51].szData, "乙卯");
    strcpy(d[52].szData, "丙辰"); strcpy(d[53].szData, "丁巳"); strcpy(d[54].szData, "戊午"); strcpy(d[55].szData, "己未");
    strcpy(d[56].szData, "庚申"); strcpy(d[57].szData, "辛酉"); strcpy(d[58].szData, "壬戌"); strcpy(d[59].szData, "癸亥");
}
// 去初始化 dataHans 结构体
void dataFreeDataHans(dataHans* pData)
{
    if (pData == NULL)
        return;
    if (pData->pHan != NULL)
        free(pData->pHan);
    free(pData);
}
// 初始化十天干
void dataAllocTianGan(dataHans** pData)
{
    AllocHans(10, pData);
    dataHan* d = (*pData)->pHan;

    strcpy(d[0].szData, "甲"); strcpy(d[1].szData, "乙");
    strcpy(d[2].szData, "丙"); strcpy(d[3].szData, "丁");
    strcpy(d[4].szData, "戊"); strcpy(d[5].szData, "己");
    strcpy(d[6].szData, "庚"); strcpy(d[7].szData, "辛");
    strcpy(d[8].szData, "壬"); strcpy(d[9].szData, "癸");
}
// 初始化二十四节气表
void dataAllocJieQiTable(dataHans** pData)
{
    AllocHans(24, pData);
    dataHan* d = (*pData)->pHan;

    strcpy(d[0].szData, "小寒"); strcpy(d[1].szData, "大寒"); strcpy(d[2].szData, "立春");
    strcpy(d[3].szData, "雨水"); strcpy(d[4].szData, "惊蛰"); strcpy(d[5].szData, "春分");
    strcpy(d[6].szData, "清明"); strcpy(d[7].szData, "谷雨"); strcpy(d[8].szData, "立夏");
    strcpy(d[9].szData, "小满"); strcpy(d[10].szData, "芒种"); strcpy(d[11].szData, "夏至");
    strcpy(d[12].szData, "小暑"); strcpy(d[13].szData, "大暑"); strcpy(d[14].szData, "立秋");
    strcpy(d[15].szData, "处暑"); strcpy(d[16].szData, "白露"); strcpy(d[17].szData, "秋分");
    strcpy(d[18].szData, "寒露"); strcpy(d[19].szData, "霜降"); strcpy(d[20].szData, "立冬");
    strcpy(d[21].szData, "小雪"); strcpy(d[22].szData, "大雪"); strcpy(d[23].szData, "冬至");
}
// 初始化十二地支
void dataAllocDiZhi(dataHans** pData)
{
    AllocHans(12, pData);
    dataHan* d = (*pData)->pHan;

    strcpy(d[0].szData, "子"); strcpy(d[1].szData, "丑"); strcpy(d[2].szData, "寅");
    strcpy(d[3].szData, "卯"); strcpy(d[4].szData, "辰"); strcpy(d[5].szData, "巳");
    strcpy(d[6].szData, "午"); strcpy(d[7].szData, "未"); strcpy(d[8].szData, "申");
    strcpy(d[9].szData, "酉"); strcpy(d[10].szData, "戌"); strcpy(d[11].szData, "亥");
}
// 查找词在 dataHans 数据的索引，-1 表示查找失败
int dataFindHanIndex(dataHans* pData, const char* pStr)
{
    int rtn = -1;

    if ((pData == NULL) || (pStr == NULL))
        return rtn;

    char szTem[STR_LEN_08];
    for (int i = 0; i < pData->nLen; ++i)
    {
        memset(szTem, 0x0, sizeof(szTem));
        strcpy(szTem, &pData->pHan->szData[STRINDEX(i)]);
        if (strcmp(szTem, pStr) == 0)
        {
            rtn = i;
            break;
        }
    }
    return rtn;
}
// 初始化 五虎遁年起月表 对应索引表
void dataAllocIndexCounterWuHu(dataIndex** pIndex)
{
    AllocIndex(10, pIndex);
    int* d = (*pIndex)->pIndex;

    // 0 - 甲  ==》 丙 - 2
    d[0] = 2;
    // 5 - 己  ==》 丙 - 2
    d[5] = 2;
    // 1 - 乙  ==》 戊 - 4
    d[1] = 4;
    // 6 - 庚  ==》 戊 - 4
    d[6] = 4;
    // 2 - 丙  ==》 庚 - 6
    d[2] = 6;
    // 7 - 辛  ==》 庚 - 6
    d[7] = 6;
    // 3 - 丁  ==》 壬 - 8
    d[3] = 8;
    // 8   壬  ==》 壬 - 8
    d[8] = 8;
    // 4   戊  ==》 甲 - 0
    d[4] = 0;
    // 9   癸  ==》 甲 - 0
    d[9] = 0;
}
// 初始化 日上起时法 对应索引表
void dataAllocIndexCounterGetDay(dataIndex** pIndex)
{
    AllocIndex(10, pIndex);
    int* d = (*pIndex)->pIndex;

    // 0 - 甲  ==》 甲 - 0
    d[0] = 0;
    // 5 - 己  ==》 甲 - 0
    d[5] = 0;
    // 1 - 乙  ==》 丙 - 2
    d[1] = 2;
    // 6 - 庚  ==》 丙 - 2
    d[6] = 2;
    // 2 - 丙  ==》 戊 - 4
    d[2] = 4;
    // 7 - 辛  ==》 戊 - 4
    d[7] = 4;
    // 3 - 丁  ==》 庚 - 6
    d[3] = 6;
    // 8   壬  ==》 庚 - 6
    d[8] = 6;
    // 4   戊  ==》 壬 - 8
    d[4] = 8;
    // 9   癸  ==》 壬 - 8
    d[9] = 8;
}
// 去初始化对应索引表
void dataFreeIndexCounter(dataIndex* pIndex)
{
    if (pIndex == NULL)
        return;
    if (pIndex->pIndex != NULL)
        free(pIndex->pIndex);
    free(pIndex);
}

// 取 char 数组中的某个中文下标开始的几个字(仅数组全中文可用)(如：你好啊，取下标1开始的2个字，好啊)
// (Note: 非安全函数，请自行保证所有的内存可用，即数据一定可取)
void dataGetSubStr(const char* pSource, char* pDestination, int nIndex, int nNum)
{
    if ((pSource == NULL) || (pDestination == NULL) || nIndex < 0 || nNum < 1)
        return;

    char temp[] = "易";
    int hanLen = sizeof (temp) - 1;
    memcpy(pDestination, pSource + (hanLen * nIndex), nNum * hanLen);
    *(pDestination + hanLen * nNum + 1) = '\0';
}
// 将下标转换成 Hans 下标用于取 Hans 中的数据
int STRINDEX(int nIndex)
{
    return (nIndex * STR_LEN_08);
}
// 查询一个定长数组的指定值的下标
int GetIndexFromArray(const int nArray[], int nLen, int nValue)
{
    for (int i = 0; i < nLen; ++i)
    {
        if (nArray[i] == nValue)
            return i;
    }
    return -1;
}
// 初始化 九星
void dataAllocJiuxing(dataHans** pData)
{
    AllocHans(9, pData);
    dataHan* d = (*pData)->pHan;

    strcpy(d[0].szData, "天蓬"); strcpy(d[1].szData, "天芮"); strcpy(d[2].szData, "天冲"); 
    strcpy(d[3].szData, "天辅"); strcpy(d[4].szData, "天禽"); strcpy(d[5].szData, "天心"); 
    strcpy(d[6].szData, "天柱"); strcpy(d[7].szData, "天任"); strcpy(d[8].szData, "天英"); 
}
// 九星的旋转位置
void dataAllocJiuXingR(dataHans** pData)
{
    AllocHans(8, pData);
    dataHan* d = (*pData)->pHan;

    strcpy(d[0].szData, "天蓬"); strcpy(d[1].szData, "天任"); strcpy(d[2].szData, "天冲"); 
    strcpy(d[3].szData, "天辅"); strcpy(d[4].szData, "天英"); strcpy(d[5].szData, "天芮"); 
    strcpy(d[6].szData, "天柱"); strcpy(d[7].szData, "天心");
}
// 初始化 八门
void dataAllocBamen(dataHans** pData)
{
    AllocHans(9, pData);
    dataHan* d = (*pData)->pHan;

    strcpy(d[0].szData, "休门"); strcpy(d[1].szData, "死门"); strcpy(d[2].szData, "伤门"); 
    strcpy(d[3].szData, "杜门"); strcpy(d[4].szData, "死门"); strcpy(d[5].szData, "开门"); 
    strcpy(d[6].szData, "惊门"); strcpy(d[7].szData, "生门"); strcpy(d[8].szData, "景门"); 
}
// 初始化 八门的旋转位置
void dataAllocBamenR(dataHans** pData)
{
    AllocHans(8, pData);
    dataHan* d = (*pData)->pHan;

    strcpy(d[0].szData, "休门"); strcpy(d[1].szData, "生门"); strcpy(d[2].szData, "伤门"); 
    strcpy(d[3].szData, "杜门"); strcpy(d[4].szData, "景门"); strcpy(d[5].szData, "死门"); 
    strcpy(d[6].szData, "惊门"); strcpy(d[7].szData, "开门");
}
// 初始化 八神
void dataAllocBashenR(dataHans** pData)
{
    AllocHans(8, pData);
    dataHan* d = (*pData)->pHan;

    strcpy(d[0].szData, "值符"); strcpy(d[1].szData, "腾蛇"); strcpy(d[2].szData, "太阴"); 
    strcpy(d[3].szData, "六合"); strcpy(d[4].szData, "白虎"); strcpy(d[5].szData, "玄武"); 
    strcpy(d[6].szData, "九地"); strcpy(d[7].szData, "九天");
}
// 初始化奇门局数与节气关系对应表
void dataAllocJuAndQi(dataIndex** pIndex)
{
    AllocIndex(24, pIndex);
    int* d = (*pIndex)->pIndex;

    d[0] = 2851; d[1] = 3961; d[2] = 8521; d[3] = 9631; d[4] = 1741; d[5] = 3961;
    d[6] = 4171; d[7] = 5281; d[8] = 4171; d[9] = 5281; d[10] = 6391; d[11] = 9360;
    d[12] = 8250; d[13] = 7140; d[14] = 2580; d[15] = 1470; d[16] = 9360; d[17] = 7140;
    d[18] = 6930; d[19] = 5820; d[20] = 6930; d[21] = 5820; d[22] = 4710; d[23] = 1741;
}
// 初始化农历日子大写表
void dataAllocLunarDayChinese(dataHans** pData)
{
    AllocHans(30, pData);
    dataHan* d = (*pData)->pHan;

    strcpy(d[0].szData, "初一"); strcpy(d[1].szData, "初二"); strcpy(d[2].szData, "初三");
    strcpy(d[3].szData, "初四"); strcpy(d[4].szData, "初五"); strcpy(d[5].szData, "初六");
    strcpy(d[6].szData, "初七"); strcpy(d[7].szData, "初八"); strcpy(d[8].szData, "初九");
    strcpy(d[9].szData, "初十"); strcpy(d[10].szData, "十一"); strcpy(d[11].szData, "十二");
    strcpy(d[12].szData, "十三"); strcpy(d[13].szData, "十四"); strcpy(d[14].szData, "十五");
    strcpy(d[15].szData, "十六"); strcpy(d[16].szData, "十七"); strcpy(d[17].szData, "十八");
    strcpy(d[18].szData, "十九"); strcpy(d[19].szData, "二十"); strcpy(d[20].szData, "廿一");
    strcpy(d[21].szData, "廿二"); strcpy(d[22].szData, "廿三"); strcpy(d[23].szData, "廿四");
    strcpy(d[24].szData, "廿五"); strcpy(d[25].szData, "廿六"); strcpy(d[26].szData, "廿七");
    strcpy(d[27].szData, "廿八"); strcpy(d[28].szData, "廿九"); strcpy(d[29].szData, "三十");
}
// 初始化农历月份大写表
void dataAllocLunarMonChinese(dataHans** pData)
{
    AllocHans(12, pData);
    dataHan* d = (*pData)->pHan;

    strcpy(d[0].szData, "正月"); strcpy(d[1].szData, "二月"); strcpy(d[2].szData, "三月");
    strcpy(d[3].szData, "四月"); strcpy(d[4].szData, "五月"); strcpy(d[5].szData, "六月");
    strcpy(d[6].szData, "七月"); strcpy(d[7].szData, "八月"); strcpy(d[8].szData, "九月");
    strcpy(d[9].szData, "十月"); strcpy(d[10].szData, "冬月"); strcpy(d[11].szData, "腊月");
}
// 初始化数字大写表
void dataAllocNumChinese(dataHans** pData)
{
    AllocHans(11, pData);
    dataHan* d = (*pData)->pHan;

    strcpy(d[0].szData, "零"); strcpy(d[1].szData, "一"); strcpy(d[2].szData, "二");
    strcpy(d[3].szData, "三"); strcpy(d[4].szData, "四"); strcpy(d[5].szData, "五");
    strcpy(d[6].szData, "陆"); strcpy(d[7].szData, "七"); strcpy(d[8].szData, "八");
    strcpy(d[9].szData, "九"); strcpy(d[10].szData, "十"); 
}
// 初始化六甲对应关系
void dataAllocLiuJia(dataIndex** pIndex)
{
    AllocIndex(60, pIndex);
    int* d = (*pIndex)->pIndex;

    // 甲子  0 --> 戊 4
    d[0] = 4;
    // 甲戌 10 --> 己 5
    d[10] = 5;
    // 甲申 20 --> 庚 6
    d[20] = 6;
    // 甲午 30 --> 辛 7
    d[30] = 7;
    // 甲辰 40 --> 壬 8
    d[40] = 8;
    // 甲寅 50 --> 癸 9
    d[50] = 9;
}
// 初始化十二地支三合首个地支
void dataAllocDizhiSanhe(dataIndex** pIndex)
{
    AllocIndex(12, pIndex);
    int* d = (*pIndex)->pIndex;

    // 子  申
    d[0] = 8;
    // 丑  巳
    d[1] = 5;
    // 寅  寅
    d[2] = 2;
    // 卯  亥
    d[3] = 11;
    // 辰  申
    d[4] = 8;
    // 巳  巳
    d[5] = 5;
    // 午  寅
    d[6] = 2;
    // 未  亥
    d[7] = 11;
    // 申  申
    d[8] = 8;
    // 酉  巳
    d[9] = 5;
    // 戌  寅
    d[10] = 2;
    // 亥  亥
    d[11] = 11;
}
// 初始化地支相冲表
void dataAllocDizhiChong(dataIndex** pIndex)
{
    AllocIndex(12, pIndex);
    int* d = (*pIndex)->pIndex;

    // 申  -  寅
    d[8] = 2;
    // 巳  -  亥
    d[5] = 11;
    // 寅  -  申
    d[2] = 8;
    // 亥  -  巳
    d[11] = 5;
}
// 初始化地支所在的宫位
void dataAllocDizhiGong(dataIndex** pIndex)
{
    AllocIndex(12, pIndex);
    int* d = (*pIndex)->pIndex;

    d[0] = 0; d[1] = 7; d[2] = 7; d[3] = 2;
    d[4] = 3; d[5] = 3; d[6] = 8; d[7] = 1;
    d[8] = 1; d[9] = 6; d[10] = 5; d[11] = 5;
}

// 初始化三合局
void dataAllocSanHeJu(dataIndex** pIndex)
{
    AllocIndex(12, pIndex);
    int* d = (*pIndex)->pIndex;

    // 寅午戌 火 2,7
    // 亥卯未 木 3,8
    // 巳酉丑 金 4,9
    // 申子辰 水 1,6
    d[0] = 16; d[1] = 49; d[2] = 27; d[3] = 38;
    d[4] = 16; d[5] = 49; d[6] = 27; d[7] = 38;
    d[8] = 16; d[9] = 49; d[10] = 27; d[11] = 38;
}

